116 votes

Ordre d'insertion et de récupération d'une ArrayList

Supposons que j'insère 5 chaînes de caractères dans un ArrayList . L'ordre d'insertion et d'extraction de l'information dans la base de données de l'UE sera-t-il respecté ? ArrayList être la même ?

143voto

Kalai Points 1421

Oui . ArrayList est une 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 l'ordre ne sera pas le même.

113voto

axcdnt Points 1313

Oui, ArrayList est une collection ordonnée et elle maintient l'ordre d'insertion.

Vérifiez le code ci-dessous et exécutez-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 des informations détaillées, veuillez vous reporter à la documentation : List (Java Platform SE7)

38voto

Peter Lawrey Points 229686

Si vous ajoutez toujours à la fin, chaque élément sera ajouté à la fin et restera ainsi 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 dans lequel vous l'avez ajouté.

Si vous les insérez au milieu, l'ordre sera différent.

12voto

Eduardo Dennis Points 799

Oui, ce sera toujours la même chose. Depuis le documentation

Ajoute l'élément spécifié à la fin de cette liste. Paramètres : e élément à ajouter à la liste Retourne : true (comme spécifié par Collection.add(java.lang.Object))

Liste de tableaux add() mise en œuvre

public boolean More ...add(E e) {
    ensureCapacity(size + 1);  // Increments modCount!!
    elementData[size++] = e;
    return true;
}

-2voto

Mehsah Yhook Points 83

Oui, il reste le même. Mais pourquoi ne pas le tester facilement ? Créez une ArrayList, remplissez-la et récupérez ensuite les éléments !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X