Classe Java ArrayList
Classe ArrayList :
- Tableau redimensionnable ou tableau évolutif.
- Le tableau redimensionnable et évolutif de la structure de données soulignée.
- Les doublons sont autorisés.
- L'ordre d'insertion est conservé.
- Les objets hétérogènes sont autorisés (sauf Tree Set et Tree Map partout où les objets hétérogènes sont autorisés).
- L'insertion nulle est possible.
CONSTRUCTEUR :
- ArrayList l =new ArrayList() :- Crée un objet ArrayList vide avec une capacité initiale par défaut 10. Une fois qu'ArrayList atteint sa capacité maximale, une nouvelle ArrayList est créée.
- Après avoir copié toutes les données dans une autre liste de tableaux, le ramasse-miettes désalloue la mémoire de la première liste de tableaux.
Nouvelle capacité =[ Capacité actuelle * 3/2 ] + 1
- ArrayList l =new ArrayList(int initialCapacity);
- ArrayList l =new ArrayList(Collection c);
Exemple pour Arraylist :
Import java.util.*; Class ArrayListDemo{ public static void main(String[] args) { ArrayList l = new ArrayList(); L.add(“A”); l.add(10); l.add(“A”); l.add(null); System.out.println(l);// [A,10,A,null] l.remove(2); System.out.println(l);// [A,10,null] l.add(“2”,”m”); l.add(“n”); System.out.println(l); // [A,10,m,null,n] } }
Remarque :Nous obtiendrons la sortie entre parenthèses. Parce que la référence d'objet en interne va être implémentée en tant que toString méthode.
Quand Arraylist est le meilleur et le pire choix ?
- Arraylist est le meilleur choix si notre exigence est une opération de récupération (car Arraylist implémente l'interface RandomAccess).
- ArrayList est le pire choix si notre exigence est l'insertion ou la suppression au milieu (car une opération de décalage est requise).
l.add(1,"m");
l.remove(1);
Comment obtenir la version synchronisée de l'objet ArrayList ?
Par défaut, ArrayList est un objet non synchronisé, mais nous pouvons obtenir une version synchronisée de ArrayList en utilisant la méthode SynchronizedList() de la classe de collection.
NON-SYNCHRONISÉ :
ArrayList l1 =new ArrayList();
SYNCHRONISÉ :
List l =Collections.SynchronizedList(l1);
Point :De même, nous pouvons obtenir une version synchronisée des objets Set, Map en utilisant les méthodes suivantes de la classe de collection