Supongamos que inserto 5 cadenas en un ArrayList
. ¿El orden de inserción y recuperación del ArrayList
mismo será el mismo?
java
collections
dragón divino
fuente
fuente
Respuestas:
Verifique el código a continuación y ejecútelo:
public class ListExample { public static void main(String[] args) { List<String> myList = new ArrayList<String>(); myList.add("one"); myList.add("two"); myList.add("three"); myList.add("four"); myList.add("five"); System.out.println("Inserted in 'order': "); printList(myList); System.out.println("\n"); System.out.println("Inserted out of 'order': "); // Clear the list myList.clear(); myList.add("four"); myList.add("five"); myList.add("one"); myList.add("two"); myList.add("three"); printList(myList); } private static void printList(List<String> myList) { for (String string : myList) { System.out.println(string); } } }
Produce la siguiente salida:
Inserted in 'order': one two three four five Inserted out of 'order': four five one two three
Para obtener información detallada, consulte la documentación:
List (Java Platform SE7)
fuente
Sí . ArrayList es una lista secuencial . Entonces, el orden de inserción y recuperación es el mismo.
Si agrega elementos durante la recuperación , el orden no seguirá siendo el mismo.
fuente
Si siempre agrega al final, entonces cada elemento se agregará al final y permanecerá así hasta que lo cambie.
Si siempre inserta al principio, cada elemento aparecerá en el orden inverso al que los agregó.
Si los inserta en el medio, el orden será diferente.
fuente
Sí, siempre será igual. De la documentación
add()
Implementación de ArrayListpublic boolean More ...add(E e) { ensureCapacity(size + 1); // Increments modCount!! elementData[size++] = e; return true; }
fuente
Sí, sigue siendo el mismo. pero ¿por qué no probarlo fácilmente? ¡Haga una ArrayList, rellénela y luego recupere los elementos!
fuente