item - listmodel java
¿Podemos usar un índice como índice de matriz para acceder a la Lista<T>? (7)
Como []
es un operador y java no admite la sobrecarga de operadores, no se puede usar con List. En su lugar, tiene que usar los métodos set(int index, T value)
y get(int index)
, que pueden ser detallados pero que proporcionan exactamente la misma funcionalidad.
Me pregunto si podemos usar el índice para acceder a la Lista.
Por ejemplo:
List<Integer> list;
list[5] //blah....
Hay muchas respuestas buenas aquí, pero solo quiero señalar que list.get(i)
es lo mismo que list[i]
solo si la lista se implementa con una matriz (es decir, ArrayList). Si se trata de una lista enlazada, en realidad no está indexando con get
, sino iterando.
Entonces, si usa get()
con la lista de tipos de interfaz, especialmente en un bucle, debe verificar cómo se implementa, ya que get()
con ArrayList es O (1) mientras que get()
con LinkedList es O (n) (mucho más lento ).
No, estás restringido a List.get (i)
.
Los corchetes []
se definen en el nivel de sintaxis, no como nombre de método, por lo que no puede anularlos. Se utilizan exclusivamente para matrices exclusivamente.
Si desea migrar a Scala, un lenguaje más moderno para la JVM, encontrará un acceso unificado a los arreglos y listas, pero ambos con ()
paréntesis.
No, no puedes hacer esto en Java.
Puede acceder a los elementos de la Lista utilizando su índice mediante el uso del método get :
obtener
Objeto público get (int index)
Devuelve el elemento en la posición especificada en esta lista.
Parámetros: índice - índice del elemento a devolver.
Devuelve: el elemento en la posición especificada en esta lista.
Emite: IndexOutOfBoundsException - si el índice está fuera de rango (índice <0 || índice> = tamaño ()).
Tenga en cuenta que el índice en las listas se basa en 0.
una alternativa a usar get(int)
es crear un Array usando toArray()
List<T> list = ...
Object[] array = list.toArray();
si se conoce toArray(T[])
se puede utilizar toArray(T[])
para devolver T[]
lugar de Object[]
.
El uso de toArray
solo es significativo, en lugar de get
, si realmente se necesita una matriz (muchos accesos).
List.get(int)
permite acceder a elementos utilizando el índice.