Supposons que j'insère 5 chaînes dans un ArrayList
. Est-ce que l'ordre d'insertion et de récupération à partir de ArrayList
sera le même?
Vérifiez le code ci-dessous et lancez-le:
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);
}
}
}
Produit la sortie suivante:
Inserted in 'order':
one
two
three
four
five
Inserted out of 'order':
four
five
one
two
three
Pour plus d'informations, reportez-vous à la documentation: List (Java Platform SE7)
Oui. ArrayList est un liste séquentielle. Ainsi, l'ordre d'insertion et de récupération est le même.
Si vous ajoutez des éléments pendant la récupération, la commande ne restera pas la même.
Si vous ajoutez toujours à la fin, chaque élément sera ajouté à la fin et restera tel jusqu'à ce que vous le changiez.
Si vous insérez toujours au début, chaque élément apparaîtra dans l'ordre inverse de celui que vous avez ajouté.
Si vous les insérez au milieu, l'ordre sera différent.
Oui, ce sera toujours la même chose. De la documentation
Ajoute l'élément spécifié à la fin de cette liste. Paramètres: e élément à ajouter à cette liste. Retour: true (comme spécifié par Collection.add (Java.lang.Object))
ArrayList add()
implémentation
public boolean More ...add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}