Encuentra la longitud de la matriz de Java

Encuentra la longitud de la matriz de Java
La matriz de Java tiene una longitud fija. No puede crecer o encogerse en longitud. Después de que la matriz de Java se haya inicializado, su longitud no se puede cambiar. Una matriz de Java declarada con un número de longitud se inicializa automáticamente con el tipo de valor predeterminado. Si la matriz se declara con una longitud indefinida y sin inicialización, Java permite al programador dar a la matriz una longitud más adelante en el programa. Una vez que se da la longitud, no se puede cambiar.

Java Array también tiene la propiedad de longitud, que devolvería la longitud de la matriz. Este artículo ilustra las diferentes formas en que se puede determinar la longitud de la matriz de Java. También muestra cómo iterar a través de la matriz Java, utilizando la propiedad de longitud.

Recuerde que la matriz Java se obtiene de la clase de objeto. El uso del objeto de matriz de manera normal no implica la importación del objeto o clase de matriz en el programa.

Declaración con longitud indefinida, sin inicialización

La siguiente declaración declara una matriz de caracteres, con longitud indefinida y sin inicialización:

char [] arr;

Esta matriz se puede dar una longitud más tarde, como en el siguiente segmento de código:

char [] arr;
arr = nuevo char [10];

Esta duración de 10 permanece en todo el programa. La matriz ahora se inicializa con valores predeterminados, de los cuales, en el caso de los caracteres, el carácter vacío ”es el valor predeterminado. Cada personaje vacío en esta matriz sería reemplazado por el Char deseado por el programador. El personaje vacío no significa ningún carácter; no es el personaje espacial.

Declaración con longitud definida, con inicialización predeterminada

La siguiente declaración única muestra cómo se puede declarar una matriz de caracteres, longitud definida e inicialización predeterminada::

char [] arr = new Char [10];

Aquí, "nuevo" es un operador. Observe dónde y cómo se ha escrito la longitud 10. Todos los tipos primitivos se pueden declarar de esta manera. Los tipos de referencia también se pueden declarar de esta manera. Un buen ejemplo del tipo de referencia es la clase de cadena. La siguiente declaración funciona bien:

Cadena [] arr = nueva cadena [10];

Tenga en cuenta que el tipo está codificado en dos lugares: a la izquierda del operador de asignación, en una posición particular, y en el lado derecho del operador de asignación.

El valor predeterminado para la cadena es el valor nulo. El valor de 10 en cualquier caso anterior permanece hasta el final del programa. Cada nulo en la matriz simplemente sería reemplazado por un objeto de cadena (literal), más tarde, por el programador.

Asignación a la matriz con valores predeterminados

Después de crear una matriz con valores predeterminados, los valores prácticos pueden asignarse a elementos de matriz, para reemplazar los valores predeterminados, como en el siguiente programa:

clase pública THECLASS
public static void main (string [] args)
char [] arr = new Char [5];
arr [0] = 'a'; arr [1] = 'b'; arr [3] = 'd'; arr [4] = 'e';
para (int i = 0; i<5; i++) System.out.print(arr[i]); System.out.print(");;
Sistema.afuera.println ();

La salida es:

A B D E

Observe que en este programa, no se ha importado nada. El valor predeterminado de cualquier elemento que no se asignó sigue siendo el valor predeterminado.

Longitud en la inicialización

Hay dos formas de declarar una matriz con inicialización. Una forma es la siguiente:

char [] arr = 'a', 'b', 'c', 'd', 'e';

El lado derecho de esta declaración es la matriz literal. En este caso, la matriz literal se asigna a la matriz en la declaración. Cualquier elemento predeterminado debe escribirse literalmente, como en la siguiente declaración:

char [] arr = 'a', 'b', ", 'd', 'e';

El tercer valor es el personaje vacío. Si la matriz fuera de un tipo de referencia, el valor predeterminado habría sido nulo, como en la siguiente declaración:

String [] arr = "one", "dos", nulo, "cuatro", "cinco";

Nulo es sin citas aquí. Para estas tres declaraciones, la longitud es 5, que es el número de elementos en la matriz literal. El literal de matriz es delimitado por aparatos ortopédicos.

La otra forma es la siguiente:

char [] arr = new Char [] 'a', 'b', 'c', 'd', 'e';

Aquí, se usa el nuevo operador, todavía sin el número de longitud. En este caso, el literal de la matriz es justo después de los soportes cuadrados. Cualquier elemento predeterminado debe escribirse literalmente, como en la siguiente declaración:

char [] arr = new Char [] 'a', 'b', ", 'd', 'e';

Si la matriz fuera de un tipo de referencia, el valor predeterminado habría sido nulo, como en la siguiente declaración:

String [] arr = new String [] "One", "Two", Null, "Four", "Five";

nulo es sin citas. Si nulo está en citas, ya no es nulo sino una cadena. Para estas tres declaraciones, la longitud es 5, que es el número de elementos en la matriz literal.

En la declaración de matriz con inicialización práctica, el número de elementos en la matriz literal es la longitud de la matriz. Esa longitud permanece hasta el final del programa.

La propiedad de longitud

Una matriz es un objeto heredado de la clase de objeto. Tiene una propiedad, que es longitud. Mientras se haya definido la longitud de la matriz, esta propiedad siempre devolverá la misma longitud fija de la matriz hasta el final del programa. El siguiente segmento de código ilustra cómo usar la propiedad de longitud:

char [] arr = 'a', 'b', 'c', 'd', 'e';
int len ​​= arr.longitud;
Sistema.afuera.println (len);

La salida es: 5.

Iterando a través de la matriz

El siguiente código itera a través de la matriz. La propiedad de longitud se puede usar para iterar, durante toda la matriz, como muestra este programa:

clase pública THECLASS
public static void main (string [] args)
String [] arr = "one", "dos", "tres", "cuatro", "cinco";
para (int i = 0; iSistema.afuera.imprimir (arr [i]); Sistema.afuera.imprimir(");

Sistema.afuera.println ();

La salida es:

uno dos tres CUATRO CINCO

La clase de cadena no necesita importarse antes de ser utilizada.

Búsqueda normal de un valor

La siguiente clase busca al personaje, 'd', en una variedad de personajes. Cuando se ve el primer 'D', se devuelve el índice de matriz. Si se alcanza el final de la matriz, se devuelve la longitud de la matriz.

Clase Aclass
int simplesearch ()
char [] arr = 'a', 'b', 'c', 'd', 'e';
para (int i = 0; iif (arr [i] == 'd')
regresar i;

regresar arr.longitud;

En la función Main (), se puede usar el siguiente segmento de código:

Aclass anobj = new Aclass ();
int ret = anobj.simplesearch ();
Sistema.afuera.println (ret);

La salida es 3. Recuerde que el último índice es la longitud de la matriz menos 1. Entonces, si se devuelve la longitud de la matriz, significa que el personaje que busca no fue visto.

Conclusión

Una vez que se define la longitud de la matriz, permanece fijo hasta el final del programa. La longitud de la matriz se define en la declaración de la matriz, con o sin inicialización práctica. Si la longitud de la matriz no se define en la declaración, entonces aún debe definirse, con una tarea, utilizando el nuevo operador. El objeto de matriz también tiene la propiedad, longitud, para devolver la longitud de la matriz. En Java, la propiedad se llama campo.