Java >> Tutoriel Java >  >> Tag >> class

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


Balise Java