Java >> Tutoriel Java >  >> Tag >> ArrayList

Différences entre Vector et ArrayList en Java

Vector vs ArrayList en Java

1) Vecteur en Java

  • Vector est une classe d'implémentation de l'interface List.
  • Vector est une classe héritée, ce qui signifie qu'elle ne prend pas entièrement en charge le cadre de collecte.
  • Classe vectorielle introduite dans les versions antérieures de Java, ces classes doivent donc être repensées pour prendre en charge le cadre de collecte.
  • Lorsque nous créons un objet vectoriel, la capacité par défaut pour stocker l'élément est de 10, donc s'il atteint sa capacité maximale, un nouvel objet vectoriel sera créé et la capacité sera doublée de sa capacité actuelle de l'objet nouvellement créé au cas où si nous stockons le 11ème élément dans la liste des vecteurs.
  • Vector est thread-safe, ce qui signifie qu'un seul thread est autorisé à fonctionner sur un objet, c'est pourquoi Vector est thread-safe.
  • Nous verrons comment créer un objet Vector avec un constructeur par défaut.
    Syntaxe :
    Vector v = new Vector();
  • La taille par défaut de l'objet Vector est de 10, donc s'il atteint sa capacité maximale, une nouvelle capacité sera donnée ci-dessous :
    Nouvelle capacité =2*Current_Capacity ;
  • La classe Vector implémente l'interface RandomAccess afin que nous puissions accéder à un élément aléatoire avec la même vitesse.

Exemple :

import java.util.*;

class VectorClass {
    public static void main(String[] args) {
        // Creating a Vector instance
        Vector v = new Vector();

        // Display default capacity of Vector object
        System.out.println("Current Capacity:" + v.capacity());

        // Loop to print 10 elements
        for (int i = 0; i < 10; ++i)
            v.addElement(i);

        // Display capacity of adding till 10 elements
        System.out.println("Capacity of adding till 10 elements is:" + v.capacity());

        v.addElement(11);

        // New capacity if it reached its maximum capacity
        System.out.println("New Capacity after adding 11th element will be " + v.capacity());
    }
}

Sortie

E:\Programs>javac VectorClass.java
Note: VectorClass.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

E:\Programs>java VectorClass
Current Capacity:10
Capacity of adding till 10 elements is:10
New Capacity after adding 11th element will be 20

2)ArrayList en Java

  • ArrayList est une classe d'implémentation de l'interface List.
  • ArrayList n'est pas une classe héritée, ce qui signifie qu'elle prend en charge le cadre de collecte et que nous n'avons pas besoin de repenser cette classe.
  • Lorsque nous créons un objet ArrayList, la capacité par défaut pour stocker l'élément est de 10, donc s'il atteint sa capacité maximale, un nouvel objet ArrayList sera créé et sa capacité augmentera comme (la moitié de sa capacité actuelle + 1) de nouveau objet créé au cas où si nous stockons le 11ème élément dans la liste des vecteurs, la nouvelle capacité sera de 16.
  • ArrayList n'est pas thread-safe car il n'est pas synchronisé.
  • Nous allons voir comment créer un objet de ArrayList en utilisant la classe ArrayList.
    Syntaxe :
    ArrayList object_name = new ArrayList();
  • La taille par défaut de ArrayList est 10.
  • Une fois que la ArrayList atteint sa capacité maximale, un nouvel objet sera créé avec une nouvelle capacité et la nouvelle capacité sera calculée comme ceci :
    New_capacity =Current_Capacity*3/2 + 1
  • La classe ArrayList implémente l'interface RandomAccess afin que nous puissions accéder à un élément aléatoire avec la même vitesse.

Exemple :

import java.util.*;

class ArrayListClass {
    public static void main(String[] args) {
        // Creating a ArrayList instance
        ArrayList al = new ArrayList();

        // Loop to print 10 elements
        for (int i = 0; i < 10; ++i)
            al.add(i);

        // Display capacity of adding till 10 elements
        System.out.println("Capacity of adding till 10 elements is:" + al.size());

        // Loop to print again 6 elements
        for (int j = 0; j < 6; ++j)
            al.add(j);

        // New capacity if it reached its maximum capacity
        System.out.println("New Capacity after adding 6 more element will be " + al.size());
    }
}

Sortie

E:\Programs>javac ArrayListClass.java
Note: ArrayListClass.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

E:\Programs>java ArrayListClass
Capacity of adding till 10 elements is:10
New Capacity after adding 6 more element will be 16

Balise Java