hola, ¿cómo podríamos encontrar los documentos que enumeran todas las propiedades y funciones posibles del objeto de matriz? No me refiero al objeto Arrays, que es el único documento que puedo encontrar.
Además, probablemente sea útil tener en cuenta que si tiene una matriz de múltiples dimensiones, puede obtener la dimensión respectiva simplemente agregando un '[0]' a la matriz que está consultando hasta llegar al eje / tupla / dimensión apropiado.
Esto probablemente se explica mejor con el siguiente código:
publicclassTest{publicstaticvoid main(String[] args){String[][] moo =newString[5][12];System.out.println(moo.length);//Prints the size of the First Dimension in the arraySystem.out.println(moo[0].length);//Prints the size of the Second Dimension in the array}}
Esto debe actualizarse en la pregunta si es una aclaración.
Whitecat
5
La respuesta es "Todos ellos". Una matriz de Java se asigna con un número fijo de ranuras de elementos. El atributo "length" te dirá cuántos. Ese número es inmutable para la vida de la matriz. Para un equivalente redimensionable, necesita una de las clases java.util.List, donde puede usar el método size () para averiguar cuántos elementos están en uso.
Sin embargo, hay "En uso" y luego está En uso . En una matriz de objetos de clase, puede tener ranuras de elementos cuyos elementos son objetos nulos, por lo que, aunque cuentan en el atributo de longitud, pero las definiciones de la mayoría de las personas, no están en uso (YMMV, dependiendo de la aplicación). No hay una función integrada para devolver los recuentos nulos / no nulos.
Los objetos de lista tienen otra definición más de "En uso". Para evitar la creación / destrucción excesiva de las estructuras de almacenamiento subyacentes, generalmente hay algo de relleno en estas clases. Se usa internamente, pero no se cuenta en el método size () devuelto. Y si intenta acceder a esos elementos sin expandir la Lista (a través de los métodos de agregar), obtendrá una excepción de índice ilegal.
Por lo tanto, para Listas, puede tener "En uso" para elementos comprometidos no nulos, Todos los elementos comprometidos (incluidos los elementos nulos) o Todos los elementos, incluido el espacio de expansión actualmente asignado.
Todas las respuestas anteriores son correctas. Lo importante a observar es que las matrices tienen un atributo de longitud pero no un método de longitud. Siempre que use cadenas y matrices en Java, los tres modelos básicos que podría enfrentar son:
Cadena s = nueva Cadena ("vidyasagar");
System.out.println (s.length ()); // En este caso estamos usando solo String. Sin atributo de longitud para cadenas. tenemos que usar el método length ().
int [] s = nuevo int [10]; System.out.println (s.length); // aquí usamos el atributo de longitud de las matrices.
Cadena [] s = nueva Cadena [10];
System.out.println (s.length); // Aquí, aunque el tipo de datos es String, no es una sola String. s es una referencia para la matriz de cadenas. Entonces, utilizamos el atributo de longitud de las matrices para expresar cuántas cadenas pueden caber en esa matriz.
Realmente no es la respuesta a su pregunta, pero si desea tener algo como una matriz que puede crecer y reducirse, no debe usar una matriz en Java. Probablemente sea mejor usando ArrayList u otra implementación de List.
Luego puede llamar a size () para obtener su tamaño.
Respuestas:
Sí,
.length
(como propiedad, no es un método):fuente
En realidad es un miembro final de la matriz, no un método.
fuente
Además, probablemente sea útil tener en cuenta que si tiene una matriz de múltiples dimensiones, puede obtener la dimensión respectiva simplemente agregando un '[0]' a la matriz que está consultando hasta llegar al eje / tupla / dimensión apropiado.
Esto probablemente se explica mejor con el siguiente código:
Que produce la salida:
fuente
propiedad final de array.length
Es de propiedad pública y definitiva. Es final porque las matrices en Java son inmutables por tamaño (pero mutables por el valor del elemento)
fuente
Las matrices son objetos y tienen un campo de longitud.
Cadena [] haha = {"olle", "bulle"};
jaja.length sería 2
fuente
En java hay un
length
campo que puede usar en cualquier matriz para averiguar su tamaño:fuente
Si quieres una función para hacer esto
Esto puede ser útil si no sabe qué tipo de matriz tiene, por ejemplo, int [], byte [] u Object [].
fuente
Hay una diferencia entre la longitud
String
yarray
para aclarar:fuente
La respuesta es "Todos ellos". Una matriz de Java se asigna con un número fijo de ranuras de elementos. El atributo "length" te dirá cuántos. Ese número es inmutable para la vida de la matriz. Para un equivalente redimensionable, necesita una de las clases java.util.List, donde puede usar el método size () para averiguar cuántos elementos están en uso.
Sin embargo, hay "En uso" y luego está En uso . En una matriz de objetos de clase, puede tener ranuras de elementos cuyos elementos son objetos nulos, por lo que, aunque cuentan en el atributo de longitud, pero las definiciones de la mayoría de las personas, no están en uso (YMMV, dependiendo de la aplicación). No hay una función integrada para devolver los recuentos nulos / no nulos.
Los objetos de lista tienen otra definición más de "En uso". Para evitar la creación / destrucción excesiva de las estructuras de almacenamiento subyacentes, generalmente hay algo de relleno en estas clases. Se usa internamente, pero no se cuenta en el método size () devuelto. Y si intenta acceder a esos elementos sin expandir la Lista (a través de los métodos de agregar), obtendrá una excepción de índice ilegal.
Por lo tanto, para Listas, puede tener "En uso" para elementos comprometidos no nulos, Todos los elementos comprometidos (incluidos los elementos nulos) o Todos los elementos, incluido el espacio de expansión actualmente asignado.
fuente
Todas las respuestas anteriores son correctas. Lo importante a observar es que las matrices tienen un atributo de longitud pero no un método de longitud. Siempre que use cadenas y matrices en Java, los tres modelos básicos que podría enfrentar son:
System.out.println (s.length ()); // En este caso estamos usando solo String. Sin atributo de longitud para cadenas. tenemos que usar el método length ().
System.out.println (s.length); // Aquí, aunque el tipo de datos es String, no es una sola String. s es una referencia para la matriz de cadenas. Entonces, utilizamos el atributo de longitud de las matrices para expresar cuántas cadenas pueden caber en esa matriz.
fuente
Realmente no es la respuesta a su pregunta, pero si desea tener algo como una matriz que puede crecer y reducirse, no debe usar una matriz en Java. Probablemente sea mejor usando ArrayList u otra implementación de List.
Luego puede llamar a size () para obtener su tamaño.
fuente