Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Classe Java ArrayList

Classe ArrayList Java

Dans ce tutoriel, nous allons découvrir la classe ArrayList en Java. Nous apprendrons les différentes opérations et méthodes de l'arraylist à l'aide d'exemples.

Le ArrayList classe du framework de collections Java fournit la fonctionnalité de resizable-arrays .

Il implémente le List interface.

Java ArrayList contre Array

En Java, nous devons déclarer la taille d'un tableau avant de pouvoir l'utiliser. Une fois la taille d'un tableau déclarée, il est difficile de la modifier.

Pour gérer ce problème, nous pouvons utiliser le ArrayList classer. Cela nous permet de créer des tableaux redimensionnables.

Contrairement aux tableaux, les arraylists peuvent ajuster automatiquement leur capacité lorsque nous y ajoutons ou en supprimons des éléments. Par conséquent, les listes de tableaux sont également appelées tableaux dynamiques .

Création d'une ArrayList

Avant d'utiliser ArrayList , nous devons importer le java.util.ArrayList paquet d'abord. Voici comment nous pouvons créer des arraylists en Java :

ArrayList<Type> arrayList= new ArrayList<>();

Ici, Tapez indique le type d'une arraylist. Par exemple,

// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();

// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();

Dans le programme ci-dessus, nous avons utilisé Integer pas int. C'est parce que nous ne pouvons pas utiliser de types primitifs lors de la création d'une liste de tableaux. Au lieu de cela, nous devons utiliser les classes wrapper correspondantes.

Ici, Integer est la classe wrapper correspondante de int . Pour en savoir plus, visitez la classe wrapper Java.

Exemple :créer une liste de tableaux en Java

import java.util.ArrayList;

class Main {
  public static void main(String[] args){

    // create ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // Add elements to ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Swift");
    System.out.println("ArrayList: " + languages);
  }
}

Sortie

ArrayList: [Java, Python, Swift]

Dans l'exemple ci-dessus, nous avons créé un ArrayList langues nommées .

Ici, nous avons utilisé le add() méthode pour ajouter des éléments à l'arraylist. Nous en apprendrons plus sur le add() méthode plus loin dans ce didacticiel.

Opérations de base sur ArrayList

Le ArrayList La classe fournit diverses méthodes pour effectuer différentes opérations sur les listes de tableaux. Nous examinerons certaines opérations d'arraylist couramment utilisées dans ce didacticiel :

  • Ajouter des éléments
  • Éléments d'accès
  • Modifier des éléments
  • Supprimer des éléments

1. Ajouter des éléments à une ArrayList

Pour ajouter un seul élément à l'arraylist, nous utilisons le add() méthode du ArrayList classer. Par exemple,

import java.util.ArrayList;

class Main {
  public static void main(String[] args){
    // create ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // add() method without the index parameter
    languages.add("Java");
    languages.add("C");
    languages.add("Python");
    System.out.println("ArrayList: " + languages);
  }
}

Sortie

ArrayList: [Java, C, Python]

Dans l'exemple ci-dessus, nous avons créé un ArrayList langues nommées . Ici, nous avons utilisé le add() méthode pour ajouter des éléments aux langues .

Pour en savoir plus, visitez Java ArrayList add().

Autre façon d'ajouter des éléments à l'arraylist

Comment ajouter un élément à une position spécifiée dans une ArrayList ?

Nous pouvons également transmettre un numéro d'index comme paramètre supplémentaire au add() méthode pour ajouter un élément à la position spécifiée. Par exemple,

// add JavaScript at index 1
languages.add(1, "JavaScript");

// add C++ at index 3
languages.add(3, "C++");
Comment ajouter tous les éléments d'un ensemble à une liste de tableaux ?

On peut aussi ajouter tous les éléments d'une collection (set, map) à une arraylist en utilisant le addAll() méthode. Par exemple,

import java.util.ArrayList;
import java.util.HashSet;

class Main {
  public static void main(String[] args) {

    // create a set
    HashSet<String> vowels = new HashSet<>();
    vowels.add("a");
    vowels.add("e");
    vowels.add("i");

    // create an arraylist
    ArrayList<String> alphabets = new ArrayList<>();

    // add all elements of set to arraylist
    alphabets.addAll(vowels);
    System.out.println("ArrayList: " + alphabets);
  }
}

// Output: ArrayList: [a, e, i]

Pour en savoir plus, visitez Java ArrayList addAll().

2. Accéder aux éléments ArrayList

Pour accéder à un élément de l'arraylist, nous utilisons le get() méthode du ArrayList classer. Par exemple,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // add elements in the arraylist
    animals.add("Cat");
    animals.add("Dog");
    animals.add("Cow");
    System.out.println("ArrayList: " + animals);

    // get the element from the arraylist
    String str = animals.get(1);
    System.out.print("Element at index 1: " + str);
  }
}

Sortie

ArrayList: [Cat, Dog, Cow]
Element at index 1: Dog

Dans l'exemple ci-dessus, nous avons utilisé le get() méthode avec le paramètre 1 . Ici, la méthode retourne l'élément à index 1 .

Pour en savoir plus, visitez Java ArrayList get().

On peut aussi accéder aux éléments du ArrayList en utilisant le iterator() méthode. Pour en savoir plus, visitez Java ArrayList iterator().

3. Modifier les éléments ArrayList

Pour changer les éléments de l'arraylist, on utilise le set() méthode du ArrayList classer. Par exemple,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the array list
    languages.add("Java");
    languages.add("Kotlin");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // change the element of the array list
    languages.set(2, "JavaScript");
    System.out.println("Modified ArrayList: " + languages);
  }
}

Sortie

ArrayList: [Java, Kotlin, C++]
Modified ArrayList: [Java, Kotlin, JavaScript]

Dans l'exemple ci-dessus, nous avons créé un ArrayList langues nommées . Remarquez la ligne,

language.set(2, "JavaScript");

Ici, le set() la méthode change l'élément à index 2 en JavaScript .

Pour en savoir plus, visitez Java ArrayList set().

4. Supprimer les éléments ArrayList

Pour supprimer un élément de l'arraylist, nous pouvons utiliser le remove() méthode du ArrayList classer. Par exemple,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // add elements in the array list
    animals.add("Dog");
    animals.add("Cat");
    animals.add("Horse");
    System.out.println("ArrayList: " + animals);

    // remove element from index 2
    String str = animals.remove(2);
    System.out.println("Updated ArrayList: " + animals);
    System.out.println("Removed Element: " + str);
  }
}

Sortie

ArrayList: [Dog, Cat, Horse]
Updated ArrayList: [Dog, Cat]
Removed Element: Horse

Ici, le remove() la méthode prend le numéro d'index comme paramètre. Et supprime l'élément spécifié par le numéro d'index .

Pour en savoir plus, visitez Java ArrayList remove().

Nous pouvons également supprimer tous les éléments de l'arraylist en une seule fois. Pour en savoir plus, visitez

  • Java ArrayList removeAll()
  • Java ArrayList clear()

Méthodes de la classe ArrayList

Dans la section précédente, nous avons découvert le add() , get() , set() , et remove() méthode du ArrayList classe.

En plus de ces méthodes de base, voici quelques autres ArrayList méthodes couramment utilisées.

Méthodes Descriptions
taille() Renvoie la longueur de l'arraylist.
trier() Trier les éléments de l'arraylist.
cloner() Crée une nouvelle liste de tableaux avec le même élément, la même taille et la même capacité.
contient() Recherche dans l'arraylist l'élément spécifié et renvoie un résultat booléen.
assureCapacity() Spécifie l'élément total que l'arraylist peut contenir.
isEmpty() Vérifie si la liste de tableaux est vide.
indexOf() Recherche un élément spécifié dans une liste de tableaux et renvoie l'index de l'élément.

Si vous souhaitez en savoir plus sur toutes les différentes méthodes d'arraylist, consultez les méthodes Java ArrayList.

Itérer dans une ArrayList

Nous pouvons utiliser la boucle Java for-each pour parcourir chaque élément de l'arraylist. Par exemple,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // creating an array list
    ArrayList<String> animals = new ArrayList<>();
    animals.add("Cow");
    animals.add("Cat");
    animals.add("Dog");
    System.out.println("ArrayList: " + animals);

    // iterate using for-each loop
    System.out.println("Accessing individual elements:  ");

    for (String language : animals) {
      System.out.print(language);
      System.out.print(", ");
    }
  }
}

Sortie

ArrayList: [Cow, Cat, Dog]
Accessing individual elements:  
Cow, Cat, Dog,

Foire aux questions

Quelle est la différence entre Java ArrayList et LinkedList ?

Certaines des principales différences entre ArrayList et LinkedList en Java sont :

ArrayList Liste liée
Mise en œuvre List interface Mise en œuvre List , Queue , et Deque interfaces.
Stocke une seule valeur. Stocke 3 valeurs :données, adresse précédente et suivante
Fournit la fonctionnalité d'un tableau redimensionnable. Fournit la fonctionnalité de liste à double lien
Comment convertir une ArrayList en Array ?

Nous pouvons convertir le ArrayList dans un tableau en utilisant le toArray() méthode. Par exemple,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the array list
    languages.add("Java");
    languages.add("Python");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // create a new array of String type
    String[] arr = new String[languages.size()];

    // convert ArrayList into an array
    languages.toArray(arr);
    System.out.print("Array: ");

    // access elements of the array
    for (String item : arr) {
      System.out.print(item + ", ");
    }
  }
}

Sortie

ArrayList: [Java, Python, C++]
Array: Java, Python, C++, 

Dans l'exemple ci-dessus, le toArray() la méthode convertit les langues arraylist dans un tableau et le stocke dans arr . Pour en savoir plus, visitez Java ArrayList toArray().

Comment convertir un tableau en ArrayList ?

Nous utilisons le asList() méthode du Arrays classer. Pour utiliser asList() , il faut importer le java.util.Arrays paquet d'abord. Par exemple,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    // create an array of String type
    String[] arr = { "Java", "Python", "C++" };
    System.out.print("Array: ");

    // print array
    for (String str : arr) {
      System.out.print(str);
      System.out.print(" ");
    }

    // create an ArrayList from an array
    ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
    System.out.println("\nArrayList: " + languages);
  }
}

Sortie

Array: Java Python C++        
ArrayList: [Java, Python, C++]

Dans le programme ci-dessus, nous avons d'abord créé un tableau arr du String taper. Remarquez l'expression,

Arrays.asList(arr)

Ici, le asList() convertit le tableau en une liste de tableaux.

Comment créer et initialiser une ArrayList en une seule ligne ?

Nous utilisons le Arrays.asList() méthode pour créer et initialiser une arraylist en une seule ligne. Par exemple,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    // create and initialize ArrayList
    ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
    System.out.println("ArrayList: " + languages);

  }
}

// Output: ArrayList: [Java, Python, C]
Comment convertir une ArrayList en String ?

Nous utilisons le toString() méthode du ArrayList classe pour convertir une liste de tableaux en une chaîne. Par exemple,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Kotlin");
    System.out.println("ArrayList: " + languages);

    // convert ArrayList into a String
    String str = languages.toString();
    System.out.println("String: " + str);
  }
}

Sortie

ArrayList: [Java, Python, Kotlin]
String: [Java, Python, Kotlin]

Ici, le toString() convertit l'ensemble de la liste de tableaux en une seule chaîne. Pour en savoir plus, visitez Java ArrayList toString().

Comment créer une liste de tableaux à l'aide de l'interface List ?

Nous pouvons également créer une arraylist en utilisant l'interface List. C'est parce que la classe ArrayList implémente l'interface List. Voyons un exemple,

import java.util.ArrayList;
import java.util.List;

class Main {
  public static void main(String[] args) {

    // create arraylist using List
    List<String> languages = new ArrayList<>();
    languages.add("Java");
    languages.add("Python");
    languages.add("C");

    System.out.println("ArrayList: " + languages);
  }
}

// Output: ArrayList: [Java, Python, C]

Java

  1. Mot-clé Java final
  2. Opérateur instanceof Java
  3. Classe statique imbriquée Java
  4. Classe anonyme Java
  5. Classe Java Singleton
  6. Réflexion Java
  7. Java vecteur
  8. Algorithmes Java
  9. Classe Java ObjectOutputStream