JavaRush /Blog Java /Random-FR /Comment utiliser les classes de collection ArrayList, Vec...
ramhead
Niveau 13

Comment utiliser les classes de collection ArrayList, Vector et HashMap fournies par Java Collections Framework

Publié dans le groupe Random-FR
Dans cet article, nous découvrirons trois classes de collection importantes ArrayList , Vector et HashMap du Collections Framework et commencerons à les utiliser dans notre propre code. Comment utiliser les classes de collection ArrayList, Vector et HashMap fournies par Java Collections Framework - 1En utilisant les classes collection ArrayListet collection Vector, nous pouvons stocker un groupe d'éléments sous forme d'objets simples et les manipuler à l'aide de diverses méthodes disponibles dans ces classes. Les cours ArrayListet Vectorsont disponibles dans le forfait java.util. Une autre classe est une collection, disponible dans le package java.util, celle-ci HashMap, qui vous permet de stocker une collection de mappages clé-valeur. Cela permet d'obtenir la valeur souhaitée à partir d'une collection lorsque la clé est connue. Examinons des exemples utilisant ces classes de collection une par une. Exemple 1. Dans cet exemple, nous allons écrire un programme simple utilisant une classe - la collection ArrayList Listing 1. Code d'exécution pour l'exemple 1
// подключаем класс
import java.util.ArrayList;
public class ArrayListExample {
  static String[] favouriteCharacters = {"Harry", "Ron", "Hermione",  "Snape", "Dumbledore", "Moody", "Riddle", "Fred"};
   int i;
   public ArrayList favouritelist = new ArrayList();
// метод добавляет элементы ‘favouriteCharacters’ в ‘favouritelist’
 private void includeCharacters(String[]favouriteCharacters)
       {
        for (i = 0; i < favouriteCharacters.length; i++) {
            // добавление элементов по одному из массива ‘favouriteCharacters’
            favouritelist.add(favouriteCharacters[i]);
            printCharacters(i);
        }
// добавление элементов, посредством указания позиций
        favouritelist.add(1, "george");
        favouritelist.add(4, "Peter");
    }
// метод выводит элемент ‘favouritelist’ по указанной позиции
    private void printCharacters(int i) {
        System.out.println("Character " + (i + 1) + ":" + favouritelist.get(i));
    }
// метод выводит все элементы ‘favouritelist’
    private void printCharacters() {
        System.out.println("\n");
        for(int i=0;i<favouritelist.size();i++){
        System.out.println("Character" + (i + 1) + ":" + favouritelist.get(i));
    }    }
// метод возвращает размер коллекции ‘favouritelist’
    private int sizeofCharactersList() {
        System.out.println("\n");
        System.out.println("Total No of Characters in Array:" + favouriteCharacters.length);
        System.out.println("Total No of Characters in List:" + favouritelist.size());
        return favouritelist.size();
    }
// метод выводит позицию element ‘favouritelist’ по указанному имени
 public void getCharacterPostion(String characterName) {
     System.out.println("\n");
        System.out.println("The position of the character\t" + characterName + "\tis\t" + favouritelist.indexOf(characterName));
    }
// метод удаляет элемент ‘favouritelist’ по указанному имени
    public void removeCharacter(String characterName) {
        if(favouritelist.size()>favouriteCharacters.length){
        favouritelist.remove(characterName);
        }
        else{
             System.out.println("\n");
             System.out.println("The element\t"+favouritelist.get(favouritelist.indexOf(characterName))+"\tcannot be removed");
        }
        }
// метод удаляет элемент ‘favouritelist’ по указанной позиции
    public void removeCharacter(int i) {
        if(favouritelist.size()>favouriteCharacters.length){
        favouritelist.remove(i);
          }
        else{
            System.out.println("The element\t"+favouritelist.get(i)+"\tcannot be removed");
        }
    }
    public static void main(String args[]) {
        ArrayListExample example = new ArrayListExample();
        example.includeCharacters(favouriteCharacters);
        example.printCharacters();
        int size = example.sizeofCharactersList();
        example.getCharacterPostion("Ron");
        example.removeCharacter("Snape");
        example.removeCharacter(2);
        example.sizeofCharactersList();
        example.removeCharacter("Harry");
         example.removeCharacter(4);
    }
}
L'exécution de ce programme produira le résultat suivant :
Character 1:Harry
Character 2:Ron
Character 3:Hermione
Character 4:Snape
Character 5:Dumbledore
Character 6:Moody
Character 7:Riddle
Character 8:Fred


Character1:Harry
Character2:george
Character3:Ron
Character4:Hermione
Character5:Peter
Character6:Snape
Character7:Dumbledore
Character8:Moody
Character9:Riddle
Character10:Fred


Total No of Characters in Array:8
Total No of Characters in List:10


The position of the character	Ron	is	2


Total No of Characters in Array:8
Total No of Characters in List:8


The element	Harry	cannot be removed
The element	Dumbledore	cannot be removed
Regardons l'exemple de programme fourni, étape par étape. Dans cet exemple, dans la toute première ligne du programme, nous importons la classe - collection ArrayList. Ensuite, nous initialisons à tour de rôle un tableau de chaînes favouriteCharacterscontenant les noms de personnes et favouritelistune instance de la collection ArrayList. La méthode includeCharacters(args)peut être divisée en deux parties. Dans la première partie de la méthode, les éléments du tableau sont ajoutés à la collection à l’aide d’une boucle. Dans ce cas, l'ajout d'éléments ArrayLists'effectue dans le même ordre dans lequel ils se trouvent dans le tableau. Cela se produit parce que nous ne définissons aucune position pour les éléments ajoutés à la collection. Mais dans la deuxième partie de notre méthode, les éléments sont ajoutés par indexation. Dans ce cas, les éléments sont ajoutés à la collection à la position exacte spécifiée. Lorsqu'un nouvel élément est ajouté au milieu d'une collection ArrayList, les éléments déjà existants dans cette collection et situés au-delà de la position d'insertion spécifiée du nouvel élément sont déplacés vers des positions ultérieures par rapport aux leurs, augmentant ainsi la taille de la collection. Lorsque nous regardons d’abord le résultat, nous verrons :
Total No of Characters in List: 10
Total No of Characters in Array: 8
En effet, en plus du tableau comportant 8 éléments, qui sont ajoutés à ArrayList, nous ajoutons explicitement 2 éléments supplémentaires, augmentant ainsi la taille de la collection à 10. La méthode getCharacterPosition(args)prend la valeur d'un élément (nom de la personne) et affiche la position de cet élément dans la collection ArrayList. S'il n'existe aucun élément de ce type dans ArrayList, alors la valeur -1 est affichée. La méthode removeCharacter(args)supprime la valeur de l'élément spécifié (nom de la personne) de la collection, en prenant comme argument soit l'index de cet élément, soit l'élément lui-même. Dans le code ci-dessus, nous pouvons remarquer que la taille de notre collection est passée de 8 à 10 du fait que nous avons supprimé 2 éléments de la collection. Si les tailles du tableau et de la collection sont identiques, la méthode renvoie les lignes suivantes :
The element Harry cannot be removed
The element Dumbledore cannot be removed
L'exécution de la méthode removeCharacter(args)est uniquement conditionnée par le fait que la taille de la collection doit être supérieure à la taille du tableau. Exemple 2. Dans cet exemple, nous allons écrire un programme simple utilisant une classe - une collection Vector Listing 2. Code d'exécution pour l'exemple 2
// подключаем класс
import java.util.Vector;
public class VectorExample {
    Vector vector=new Vector();
    public void addCharacterandPrint(){
        vector.add("Weasley");
        vector.add("Potter");
        for(int i=0;i<vector.size();i++){
        System.out.println("The characters are\t"+vector.get(i));
        }
    }
    public static void main(String args[]){
        VectorExample example=new VectorExample();
        example.addCharacterandPrint();
        }
}
L'exécution de ce programme produira le résultat suivant :
The characters are Weasley
The characters are Potter
Le code ci-dessus n'est qu'un petit échantillon, fourni pour prouver qu'il n'y a pas beaucoup de différence entre les collections ArrayListet Vector. La collection Vectorpeut être manipulée de la même manière que la collection ArrayList, en utilisant les mêmes méthodes. Exemple 3. Dans cet exemple, nous allons écrire un programme simple utilisant la classe de collection HashMap Listing 3. Code d'exécution pour l'exemple 3
// подключаем класс
import java.util.HashMap;
public class HashMapExample {
    HashMap hashMap=new HashMap();
    String Books[]={"Famous Five","Goosebumps","Robinson Crusueo","Nancy Drew","The Cell","The Davinci Code","Harry Potter"};
    public void mapAuthors(){
        hashMap.put("Famous Five","Enid Blyton");
        hashMap.put("Goosebumps","R.L.Stine");
        hashMap.put("Nancy Drew","Carolyn Keene");
        hashMap.put("The Cell","Christopher Pike");
        hashMap.put("The Davinci Code","Dan Brown");
        hashMap.put("Harry Potter","J.K. Rowling");
    }
    public void getBookList(){
        for(int i=0;i<Books.length;i++){
            if(hashMap.containsKey(Books[i])){
                System.out.println("Author"+(i+1)+":\t"+hashMap.get(Books[i])+"\t"+Books[i]);
            }
            else{
                System.out.println("\nThe Imformation about the author of the book\t"+Books[i]+"\tis not available\n");
            }
        }
    }
    public static void main(String args[]){
        HashMapExample hashMapExample=new HashMapExample();
        hashMapExample.mapAuthors();
        hashMapExample.getBookList();
    }
}
L'exécution de ce programme produira le résultat suivant :
Author1: Enid Blyton Famous Five
Author2: R.L.Stine Goosebumps
The Information about the author of the book Robinson Crusueo is not available
Author4: Carolyn Keene Nancy Drew
Author5: Christopher Pike The Cell
Author6: Dan Brown The Davinci Code
Author7: J.K. Rowling Harry Potter
Regardons le code ci-dessus, étape par étape. Dans cet exemple de programme, nous avons un tableau de chaînes dont les éléments sont les noms de livres célèbres. La méthode mapAuthors()crée un affichage des titres de livres avec leurs auteurs. Les clés ici sont les titres des livres et les valeurs sont les auteurs de ces livres. Lorsque la méthode est appelée getBookList(), elle parcourt le tableau Bookset obtient les titres des livres un par un. Ensuite, la méthode vérifie si un livre a son propre auteur. Comme on peut le voir, si la méthode ne parvient pas à trouver l'auteur du livre, alors le message s'affiche not available. Sinon, l'auteur et son livre sont affichés un à un. Conclusion : Dans cet article, nous avons étudié un peu les classes - collections ArrayList, Vectoret HashMapessayé de les utiliser dans notre propre code. Article original : Comment utiliser les classes ArrayList, Vector et HashMap fournies par Java Collections Framework
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION