FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment utiliser une liste de tableaux Java

Une ArrayList Java est un tableau redimensionnable à usage général. Il fournit la plupart des fonctionnalités généralement attendues des tableaux dans d'autres langages. Celles-ci incluent :l'accès aux éléments à l'aide d'un index, l'ajout, la suppression et la mise à jour d'éléments, le redimensionnement dynamique, l'itération sur les éléments, etc. La plupart de ces opérations ont été spécialement modifiées pour un usage général.

Il existe quelques autres types de "tableaux" (classes qui implémentent la List interface, pour être technique) qui sont destinés à des fins particulières. Ceux-ci incluent :

  • Liste liée prend en charge l'insertion et la suppression rapides aux indices intermédiaires.
  • Vecteur est similaire à une ArrayList mais est synchronisé et convient à la place d'une ArrayList pour les applications multi-thread.
  • Empiler prend en charge les opérations pour imiter une liste dernier entré, premier sorti. Il étend le vecteur et est donc synchronisé.
Comment utiliser une liste de tableaux Java

Ces classes spéciales sortent du cadre de cet article. Cependant, vous apprendrez à configurer et à utiliser une Java ArrayList à usage général.

Créer une ArrayList

Créer une ArrayList est simple. Une ArrayList vide peut être créé en utilisant le constructeur sans arguments. Ici, nous créons une liste de tableaux vide pour contenir des chaînes.

ArrayList alist =new ArrayList(); 

Si vous savez combien d'éléments votre liste de tableaux contiendra, vous pouvez spécifier la capacité initiale. Cette capacité initiale n'est qu'un indice pour l'allocation de mémoire -- l'arraylist n'est pas limité à contenir le nombre spécifié d'éléments. Si vous connaissez et spécifiez la capacité initiale, vous pourriez obtenir une légère amélioration des performances.

ArrayList alist =new ArrayList(20); 
Comment utiliser une liste de tableaux Java

Remplir une ArrayList

Ajouter des éléments à la fin

Remplir une arraylist est assez facile. Utilisez simplement add() méthode pour ajouter un seul élément à la fin de l'arraylist. Voici un exemple :

ArrayList alist =new ArrayList(); 
alist.add("pomme");
alist.add("banane");
alist.add("cantaloup");
alist.add("orange");
System.out.println(alist);
# impressions
[pomme, banane, cantaloup, orange]

Pour connaître le nombre d'éléments présents dans l'arraylist, utilisez la méthode size() .

System.out.println("Nombre d'éléments dans l'arraylist :" + alist.size()); 
# impressions
Nombre d'éléments dans l'arraylist :4
Comment utiliser une liste de tableaux Java

Ajout d'éléments à un index spécifié

Vous voulez ajouter un élément à un index arbitraire ? Spécifiez l'index comme premier argument et l'élément est ajouté à cet index :

alist.add(3, "raisins"); 
System.out.println(alist);
# impressions
[pomme, banane, cantaloup, raisin, orange]

Ajouter un groupe d'éléments

Vous pouvez également ajouter des éléments de n'importe quelle collection dans la hiérarchie des collections Java. Une ArrayList est un type spécifique appelé Liste . Voici un moyen de construire une Liste à partir d'un ensemble d'éléments (en utilisant Arrays.asList() ) et ajoutez-le à une ArrayList .

Éléments de liste =Arrays.asList("pear", "cherry"); 
alist.addAll(items);
System.out.println(alist);
# impressions
[pomme, banane, cantaloup, raisin, orange, poire, cerise]

Bien sûr, vous pouvez spécifier un index comme premier argument ici pour ajouter les éléments commençant à cet index.

Accéder aux éléments

Une fois les éléments ajoutés à l'arraylist, comment y accéder à nouveau ?

Accéder avec un index

Si vous connaissez l'index de l'élément, vous pouvez utiliser le get() méthode pour récupérer l'élément à cet index.

Élément de chaîne =alist.get(2); 
System.out.println("L'élément à l'index 2 est :" + élément);
# impressions
L'élément à l'index 2 est :cantaloup

Rechercher des éléments

Que faire si vous ne connaissez pas l'index de l'article ? Vous pouvez utiliser indexOf() pour vérifier si l'élément est présent dans le tableau et récupérer l'élément à l'aide de l'index renvoyé.

System.out.println(alist); 
int index =alist.indexOf("orange");
si ( indice <0 )
System.out.println("Élément \"orange\" introuvable");
autre
System.out.println("Élément \"orange\" trouvé à l'index " + index);
# impressions
[pomme, banane, cantaloup, raisin, orange, poire, cerise]
Article "orange" trouvé à l'index 4

Que faire si l'élément n'est pas présent dans l'arraylist ? L'indexOf() La méthode renvoie -1 lorsque l'élément n'est pas trouvé.

index =alist.indexOf("raisin"); 
si ( indice <0 )
System.out.println("Item \"grape\" not found");
autre
System.out.println("Item \"raisin\" trouvé à l'index " + index);
# impressions
Article "raisin" introuvable

Itération sur une ArrayList

Bien sûr, l'utilisation la plus courante d'une ArrayList itère sur les éléments. Cela peut être accompli de plusieurs façons. Nous en montrons quelques-uns ici.

Voici le moyen le plus simple d'itérer sur une liste de tableaux et d'extraire les éléments pour une sorte de traitement.

for (String fruit :alist) { 
System.out.println("Fruit trouvé \"" + fruit + "\"");
}
# impressions
Fruit trouvé "pomme"
Fruit trouvé "banane"
Fruit trouvé "cantaloup"
Trouvé des fruits "raisins"
Trouvé fruit "orange"
Fruit trouvé "poire"
Trouvé fruit "cerise"

Ce code utilise la boucle for améliorée Java qui a été introduite dans Java 1.5. Avant cela, vous pouviez parcourir les éléments avec un itérateur. Un itérateur est également utilisé lorsque vous devez supprimer éléments pendant le processus d'itération comme l'illustre l'exemple ci-dessous. (Notez que nous faisons une copie de l'arraylist et travaillons sur la copie.)

ArrayList blist =new ArrayList(alist); 
for (Iterator iter =blist.iterator(); iter.hasNext(); ) {
Chaîne fruit =iter.next();
if ( fruit.startsWith("c") )
iter.remove();
autre
System.out.println("Garder \"" + fruit + "\"");
}
# impressions
Garder la "pomme"
Garder la "banane"
Garder "les raisins"
Garder "orange"
Garde "poire"

Remplacement d'articles

Une fois les éléments ajoutés, nous avons besoin d'un moyen de remplacer les éléments indésirables. Cela peut être fait en utilisant le set() méthode avec un index.

alist.set(5, "ananas"); 
System.out.println(alist);
# impressions
[pomme, banane, cantaloup, raisin, orange, ananas, cerise]

Suppression d'éléments

Voyons maintenant comment supprimer des éléments d'une liste de tableaux. Si vous connaissez l'index de l'élément (peut-être avez-vous utilisé indexOf() décrit ci-dessus), vous pouvez utiliser la commande remove() méthode avec l'indice. Il renvoie l'élément supprimé.

String fruit =alist.remove(2); 
System.out.println("Elément supprimé à 2 :" + fruit);
# impressions
Élément supprimé à 2 :cantaloup

Vous pouvez également spécifier l'élément pour supprimer le premier occurrence de l'élément dans la liste. La méthode renvoie true si l'élément a été trouvé et supprimé.

fruit ="raisin" ; 
System.out.println("Supprimer " +fruit+ " de la liste ? " + alist.remove(fruit));
# impressions
Supprimer les raisins de la liste ? vrai

Comment utilisez-vous la ArrayList dans vos projets et à quelles problématiques particulières avez-vous été confronté ? Veuillez nous en informer dans les commentaires ci-dessous.


[]