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.