ArrayList en Java
Créez un ArrayList<String> nommé tags, appelez tags.add("oak"); puis tags.add("pine");, et affichez la liste avec System.out.println(tags);. Compilez Shelf.java et lancez java Shelf. L'écran doit montrer une ligne : [oak, pine]. Les crochets et la virgule appartiennent à l'affichage Java de la liste. Vous agrandissez la liste avec add. Cette liste qui grandit après l'import est ce que cette page enseigne.
Une liste qui peut grandir
Sur la page des tableaux, un String[] gardait un nombre fixe de cases entre accolades. Vous ne pouviez pas appeler add sur ce tableau. Un ArrayList est un autre conteneur. Vous le créez vide, puis vous poussez des valeurs avec add. Chaque add agrandit la liste d'un. La ligne d'affichage montre toutes les valeurs actuellement stockées, entre crochets, séparées par des virgules et des espaces.
Ouvrez Shelf.java. Gardez le nom de classe publique Shelf pour qu'il corresponde au fichier. Supprimez les restes de import kit.Bell;, Bell.ring();, package kit; et tout appel Porch ou Lobby des pages précédentes. Cela appartient à l'histoire du module Classes. Cette page ouvre Collections. Supprimez aussi tout Scanner, nextLine ou lecture clavier. Le programme ne doit pas attendre que vous tapiez.
Près du début de Shelf.java, au-dessus de public class Shelf, écrivez :
import java.util.ArrayList;
Cet import rapproche le type ArrayList du nom court, comme import kit.Bell; rapprochait Bell sur la page import. Sans cette ligne, javac ne voit pas le nom court ArrayList sur cette page. Écrivez avec soin le paquet java.util et la classe ArrayList. N'inventez pas import java.util.*; comme exigence ici — un import exact suffit.
Dans main, créez la liste :
ArrayList<String> tags = new ArrayList<String>();
Les chevrons portent String parce que cette leçon stocke des mots. Le nom tags se tape exactement comme dans le fichier conservé. L'appel new ArrayList<String>() construit un objet liste vide. À ce moment la liste contient zéro valeur. L'afficher maintenant montrerait [], mais le fichier conservé ajoute des mots avant l'affichage.
Ajoutez oak, puis pine, puis affichez
Appelez tags.add("oak"); sur sa propre ligne. Puis appelez tags.add("pine"); sur la ligne suivante. Chaque appel stocke un mot entre guillemets. L'ordre compte pour l'écran : oak d'abord, pine ensuite. Ne les inversez pas dans le fichier conservé. N'ajoutez pas un troisième mot dans le fichier d'enseignement de cette page — deux adds suffisent pour voir la croissance et la forme affichée.
Puis écrivez :
System.out.println(tags);
Passez le nom de la liste lui-même. Ne mettez pas de guillemets autour de tags. N'écrivez pas à la main System.out.println("oak"); comme chemin de leçon — l'idée est que l'objet liste porte les deux mots et les affiche ensemble. Enregistrez le fichier avant de compiler.
import java.util.ArrayList;
public class Shelf {
public static void main(String[] args) {
ArrayList<String> tags = new ArrayList<String>();
tags.add("oak");
tags.add("pine");
System.out.println(tags);
}
}
Depuis le dossier qui contient Shelf.java, lancez javac Shelf.java. Quand parenthèses, accolades, chevrons et points-virgules correspondent, javac n'écrit aucune ligne de son côté. Puis lancez java Shelf — pas java Shelf.java ni java ArrayList. Retirez la fin .java de la commande d'exécution. Démarrez la classe qui porte main.
Le programme doit afficher une ligne et s'arrêter : [oak, pine]. Il ne doit pas attendre que vous tapiez. Si le terminal attend une entrée clavier, un appel nextLine d'un ancien exercice est encore dans un fichier. Supprimez cet appel et gardez la création ArrayList, les deux lignes add et System.out.println(tags);.
Parcourez l'exécution une fois. Java démarre à Shelf.main. L'import a déjà nommé quel ArrayList vous visez. La ligne new construit une liste vide. Le premier add stocke oak. Le second add stocke pine. La ligne d'affichage demande à la liste de montrer son contenu. L'écran montre [oak, pine]. Rien d'autre ne doit s'afficher. Si vous voyez ding, 9 ou ok, vous exécutez encore un ancien programme Porch, Lobby, Pier ou Yard. Passez à java Shelf.
Si javac dit qu'il ne trouve pas ArrayList, la ligne import manque, est mal orthographiée ou placée après public class Shelf. Déplacez import java.util.ArrayList; au-dessus de la ligne de classe. Si vous écrivez tags.add(oak); sans guillemets, javac traite oak comme un nom inexistant. Gardez les guillemets autour de chaque mot. Si vous écrivez String[] tags = new ArrayList<String>();, les types ne correspondent pas et javac refuse — gardez ArrayList<String> des deux côtés de la ligne de création sur cette page.
Tableau fixe à côté de la liste qui grandit
Un court contraste garde la page des tableaux en vue sans la mêler à l'exécution pédagogique. Un String[] fixe fonctionne toujours. Il ne grandit pas avec add.
public class Shelf {
public static void main(String[] args) {
String[] trees = {"oak", "pine"};
System.out.println(trees[0]);
}
}
Compilez et lancez ce contraste seulement pour rappeler la forme fixe. L'écran montre oak — une case — pas [oak, pine]. Il n'y a pas d'appel add. Pour stocker un troisième mot dans un tableau fixe, il faudrait un nouveau tableau à trois cases. Le fichier d'enseignement ArrayList est celui avec import java.util.ArrayList;, deux appels add et System.out.println(tags);. Utilisez le fichier tableau fixe seulement comme rappel, pas comme chemin du quiz. Ne mélangez pas trees.add("elm") dans ce contraste — String[] n'a pas add, et javac refuserait.
Côte à côte
Un court tableau garde la différence claire.
📊 ArrayList vs String array
| Piece | On this page |
|---|---|
| create | ArrayList<String> tags = new ArrayList<String>(); |
| grow | tags.add("oak"); then tags.add("pine"); |
| print list | System.out.println(tags); → [oak, pine] |
| fixed array | String[] trees = {"oak", "pine"}; — no add |
Le tableau n'est qu'un rappel. Les pièces tapées à garder pour le fichier de leçon sont l'import, la création ArrayList, les deux appels add et l'affichage de tags. |
Comparé à import et aux tableaux
Sur la page import, Porch appelait Bell.ring(); après import kit.Bell;. Cela reste valable comme histoire. Cette page change le rôle en Shelf et l'import en java.util.ArrayList. Un reste de Bell.ring(); est une autre leçon. Pour cette page, gardez ArrayList<String> tags, deux lignes add et l'affichage de la liste.
Sur la page des tableaux, les accolades remplissaient un String[] fixe. Cela fonctionne encore pour une taille connue. Cette leçon choisit ArrayList pour voir la croissance avec add et un seul affichage de toute la liste. Ne mélangez pas plants[0] et tags.add("oak") dans la même démo Shelf de cette page. Un chemin clair suffit : import, créer, add, add, afficher.
Quand vous aurez besoin plus tard de get, size ou remove, la page suivante — méthodes de list — couvre ces appels. Restez ici avec add et l'affichage complet de la liste. N'inventez pas une boucle sur la liste comme exigence sur cette page ; afficher l'objet liste suffit pour voir les deux mots.
Ce que cela laisse pour les méthodes de list
Cette page ouvre Collections avec une liste qui peut grandir. La page suivante travaille les appels courants de liste, comme lire une case ou demander combien de valeurs. Restez ici avec add et l'affichage complet. N'inventez pas tags.get(0) comme exigence ici sauf si vous le connaissez déjà ; l'objectif est la liste qui grandit et l'écran [oak, pine].
Quand d'anciens fichiers Porch.java ou Lobby.java restent à proximité, laissez-les ou supprimez-les seulement s'ils brouillent la commande d'exécution. Lancez java Shelf après avoir compilé le fichier ArrayList de cette leçon.
Avant les méthodes de list
Vous pouvez importer java.util.ArrayList, créer ArrayList<String> tags, appeler tags.add("oak"); et tags.add("pine");, puis afficher tags. Compilez Shelf.java et lancez java Shelf. L'écran montre [oak, pine]. La liste a grandi avec add. La page suivante est méthodes de list, où vous atteignez une valeur ou demandez à la liste sa longueur.
Gardez l'import au-dessus de la classe. Gardez les deux appels add avant l'affichage. Gardez java Shelf pour cette leçon. Ces trois habitudes sont le point de contrôle de cette page avant d'avancer. Quand l'écran montre [oak, pine] après les deux adds, l'ArrayList a fait son travail pour cette leçon et vous êtes prêt pour le sujet suivant.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut