Comment utiliser une liste de tableaux Java

Comment utiliser une liste de tableaux Java / La programmation

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

Il existe quelques autres types de “tableaux” (classes qui implémentent le liste interface, être technique) qui sont destinés à des fins spéciales. Ceux-ci inclus:

  • LinkedList prend en charge l'insertion et le retrait rapides aux index intermédiaires.
  • Vecteur est semblable à un ArrayList mais est synchronisé et convient à la place d'un ArrayList pour les applications multithreads.
  • Empiler prend en charge les opérations permettant d'imiter une liste du dernier entré, premier sorti. Il prolonge le Vecteur et est donc synchronisé.

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

Création d'une liste de tableaux

Créer un ArrayList est simple. Un vide ArrayList peut être créé en utilisant le constructeur sans argument. Ici, nous créons un répertoire vide pour tenir 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: la liste de références n’est pas limitée à la détention du nombre spécifié d’éléments. Si vous connaissez et spécifiez la capacité initiale, vous pourrait obtenir une légère amélioration de la performance.

ArrayList alist = new ArrayList(20); 

Remplir une liste de tableaux

Ajout d'éléments à la fin

Remplir un artiste est assez facile. Il suffit d'utiliser le ajouter() méthode pour ajouter un seul article à la fin de la liste. Voici un exemple:

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

Pour trouver combien d’articles se trouvent dans la liste, utilisez la méthode Taille().

System.out.println ("Nombre d'éléments dans l'arraylist:" + alist.size ()); # empreintes Nombre d'éléments dans la liste: 4

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

Voulez-vous 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 (liste); # impressions [pomme, banane, cantaloup, raisin, orange] 

Ajout de plusieurs objets

Vous pouvez également ajouter des éléments de toute collection dans la hiérarchie des collections Java. Un ArrayList est un type spécifique appelé liste. Voici un moyen de construire un liste à partir d'un tas d'articles (en utilisant Tableaux.asList ()) et l'ajouter à un ArrayList.

liste items = Arrays.asList ("pear", "cherry"); alist.addAll (items); System.out.println (liste); # 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 par cet index..

Accéder aux articles

Une fois les articles ajoutés à la liste, comment y accéder à nouveau?

Accéder avec un index

Si vous connaissez l'index de l'élément, vous pouvez utiliser le obtenir() 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:" + un élément); # empreinte Le point sur l'index 2 est: cantaloup 

Trouver des objets

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

System.out.println (liste); int index = alist.indexOf ("orange"); si (index < 0 ) System.out.println("Item \"orange\" not found"); else System.out.println("Item \"orange\" found at index " + index); # prints [apple, banana, cantaloupe, grapes, orange, pear, cherry] Item "orange" found at index 4 

Que se passe-t-il si l'article n'est pas présent dans la liste? le Indice de() La méthode retourne -1 quand l'item est introuvable.

index = alist.indexOf ("raisin"); si (index < 0 ) System.out.println("Item \"grape\" not found"); else System.out.println("Item \"grape\" found at index " + index); # prints Item "grape" not found 

Itération sur une liste de tableaux

Bien sûr, l’utilisation la plus courante d’un ArrayList itère sur les éléments. Cela peut être accompli de différentes manières. Nous montrons quelques simples ici.

Voici le moyen le plus simple de parcourir un répertoire et d'extraire les éléments pour un traitement quelconque..

for (String fruit: alist) System.out.println ("Fruit trouvé \" "+ fruit +" \ "");  # empreintes Fruit trouvé "pomme" Fruit trouvé "banane" Fruit trouvé "cantaloup" Fruit trouvé "raisins" Fruit trouvé "orange" Fruit trouvé "poire" Fruit trouvé "cerise" 

Ce code utilise le Java Forced Loop amélioré qui a été introduit dans Java 1.5. Avant cela, vous pouvez parcourir les éléments avec un itérateur. Un itérateur est également utilisé lorsque vous devez retirer éléments au cours du 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(une liste); for (Itérateur iter = blist.iterator (); iter.hasNext ();) String fruit = iter.next (); if (fruit.startsWith ("c")) iter.remove (); else System.out.println ("Conserver \" "+ fruit +" \ "");  # empreintes Garder "pomme" Garder "banane" Garder "raisins" Garder "orange" Garder "poire" 

Remplacement d'éléments

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 ensemble() méthode avec un index.

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

Enlever des articles

Voyons maintenant comment nous pouvons supprimer des éléments d’un répertoire. Si vous connaissez l'index de l'article (vous avez peut-être utilisé Indice de() décrit ci-dessus), vous pouvez utiliser le retirer() méthode avec l'index. Il retourne l'élément supprimé.

Fruit de la ficelle = alist.remove (2); System.out.println ("Élément supprimé à 2:" + fruit); # empreintes Élément supprimé en 2: cantaloup 

Vous pouvez également spécifier l’élément à supprimer premier apparition de l'élément dans la liste. La méthode retourne vrai si l'élément a été trouvé et enlevé.

fruit = "raisins"; System.out.println ("Supprimer" + fruit + "de la liste?" + Alist.remove (fruit)); # empreintes Enlever les raisins de la liste? vrai 

Comment utilisez-vous le ArrayList dans vos projets et quels problèmes particuliers avez-vous rencontrés? Veuillez nous en informer dans les commentaires ci-dessous.

En savoir plus sur: Java.