si utilizo un bucle for-each en una lista vinculada en java, ¿se garantiza que voy a iterar sobre los elementos en el orden en el que aparecen en la lista?java - iterar una lista vinculada
Respuesta
Se garantiza que la lista vinculada funciona en orden secuencial.
Desde el documentation
Colección ordenada (también conocida como una secuencia ). El usuario de esta interfaz tiene un control preciso sobre dónde se inserta cada elemento en la lista . El usuario puede acceder a los elementos por su índice entero (posición en la lista), y buscar elementos en la lista.
iterator() un iterador sobre los elementos de esta lista en la secuencia apropiada.
Se requiere que cada aplicación java.util.List para preservar el orden de modo ya sea que esté utilizando ArrayList, LinkedList, Vector, etc. cada uno de ellos están clasificadas colecciones y cada uno de ellos preservar el orden de inserción (ver http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html)
Como dice la definición de Linkedlist, se trata de una secuencia y tiene la garantía de ordenar los elementos.
por ejemplo:
import java.util.LinkedList;
public class ForEachDemonstrater {
public static void main(String args[]) {
LinkedList<Character> pl = new LinkedList<Character>();
pl.add('j');
pl.add('a');
pl.add('v');
pl.add('a');
for (char s : pl)
System.out.print(s+"->");
}
}
encontré 5 maneras principales para iterar sobre una lista enlazada en Java (incluyendo el camino de Java 8):
- bucle For
- mejorada para Loop
- While Loop
- iterador
- flujo de Colecciones (+) Util (Java8)
bucle For
LinkedList<String> linkedList = new LinkedList<>();
System.out.println("==> For Loop Example.");
for (int i = 0; i < linkedList.size(); i++) {
System.out.println(linkedList.get(i));
}
ciclo mejorado
for (String temp : linkedList) {
System.out.println(temp);
}
While
int i = 0;
while (i < linkedList.size()) {
System.out.println(linkedList.get(i));
i++;
}
iterador
Iterator Iterator = linkedList.iterator();
while (Iterator.hasNext()) {
System.out.println(Iterator.next());
}
corriente de recogida (+) Util (Java 8)
linkedList.forEach((temp) -> {
System.out.println(temp);
});
Genial. No sabía sobre 'LinkedList.size()'. +1. – roottraveller
- 1. Ordenar una lista vinculada en Java
- 2. Ordene una sola lista vinculada
- 3. ¿Cómo revertir una lista vinculada?
- 4. Quitar de una lista vinculada
- 5. Lanzar una lista vinculada de excepciones en Java
- 6. Encontrar corrupción en una lista vinculada
- 7. Ordenar una lista vinculada en C
- 8. Intercambiando nodos en una sola lista vinculada
- 9. Cambiar dos elementos en una lista vinculada
- 10. ¿Cómo se copia una lista vinculada a otra lista?
- 11. lista vinculada inversa sin temp
- 12. ¿Existe una implementación conocida de una lista vinculada indexada?
- 13. Iterar una lista con índices en Python
- 14. iterar sobre (tema, otros) en una lista
- 15. Implementar la lista vinculada en php
- 16. lista vinculada php spl o personalizada?
- 17. ¿Cómo puedo ordenar una lista vinculada en sql?
- 18. ¿Es posible revertir una lista vinculada que contiene un ciclo?
- 19. Implementación estándar de una lista vinculada en C
- 20. Creación de una lista vinculada individualmente en C
- 21. Tamaño total de una lista vinculada en C
- 22. ¿Es posible un bloqueo (espera) de una lista doblemente vinculada?
- 23. ¿Cómo determinar si una lista vinculada contiene un bucle?
- 24. ¿Cómo comparar nodos genéricos en una lista vinculada usando Comparable?
- 25. ¿LinkedList en .NET es una lista circular vinculada?
- 26. Dos formas de implementar una lista vinculada: ¿cuál es mejor?
- 27. Detección de ciclo en una lista vinculada: Teoría exhaustiva
- 28. No se puede iterar Lista de Java en Scala
- 29. Lista comparativa global contra lista vinculada para inserciones/eliminaciones aleatorias
- 30. ¿Cómo sabe Java cómo iterar una matriz?
** ** Sí que es .. –