English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons apprendre la classe Vector ainsi que comment l'utiliser. Nous allons également étudier les différences avec la classe ArrayList et pourquoi nous devrions utiliser une liste d'arrays.
Vector类是List接口的一个实现,它允许我们创建类似于ArrayList类的可调整大小的数组。
在Java中,ArrayList和Vector都实现List接口并提供相同的功能。但是,它们之间存在一些差异。
Vector类同步每个单独的操作。这意味着每当我们想对向量执行某些操作时,Vector类就会自动对该操作应用锁。
这是因为当一个线程访问一个vector时,同时另一个线程试图访问它,会生成一个称为ConcurrentModificationException的异常。因此,对每个操作持续使用锁会降低向量的效率。
但是,在ArrayList中,方法是不同步的。相反,它使用Collections.synchronizedList()方法对整个列表进行同步。
注意:由于向量(vector)不是线程安全的并且效率较低,因此建议使用ArrayList代替Vector。
这是我们如何用Java创建向量(vector)。
Vector<Type> vector = new Vector<>();
此处,Type表示vector存储的数据类型。例如,
//创建整数类型的vector Vector<Integer> vector = new Vector<>(); //创建字符串类型的vector Vector<String> vector = new Vector<>();
Vector类还提供List接口的可调整大小的数组实现(类似于ArrayList类)。 一些Vector方法是:
add(element) - 向向量(vector)添加元素
add(index, element) - 将元素添加到指定位置
addAll(vector) - 将向量(vector)的所有元素添加到另一个向量(vector)
Par exemple,
import java.util.Vector; class Main { public static void main(String[] args) { Vector<String> mammals = new Vector<>(); //使用add()方法 mammals.add("Dog"); mammals.add("Horse"); //使用索引号 mammals.add(2, "); System.out.println("Vector: ", + mammifères); // Utiliser la méthode ajouterTous() Vector<String> animaux = new Vector<>(); animaux.ajouter("Crocodile"); animaux.ajouterTous(mammifères); System.out.println("New Vector: ") + animals); } }
Output result
Vector : [Chien, Cheval, Chat] Nouveau Vector : [Crocodile, Chien, Cheval, Chat]
get(index) - Retourner l'élément à l'index spécifié
iterator() - Retourner l'objet itérateur pour accéder en ordre aux éléments du vecteur
Par exemple,
import java.util.Iterator; import java.util.Vector; class Main { public static void main(String[] args) { Vector<String> animaux = new Vector<>(); animaux.ajouter("Chien"); animaux.ajouter("Cheval"); animaux.ajouter("Chat"); // Utiliser la méthode get() 2); System.out.println("Élément à l'index", 2: " + element); // Utiliser iterator() Iterator<String> iterate = animaux.iterator(); System.out.print("Vector : "); while(iterate.hasNext()) { System.out.print(iterate.next()); System.out.print(", "); } } }
Output result
Élément à l'index 2: Chat Vector : Chien, Cheval, Chat,
remove(index) - Supprimer l'élément à la position spécifiée
removeAll() - Supprimer tous les éléments
clear() - Supprimer tous les éléments. Il est plus efficace que removeAll()
Par exemple,
import java.util.Vector; class Main { public static void main(String[] args) { Vector<String> animaux = new Vector<>(); animaux.ajouter("Chien"); animaux.ajouter("Cheval"); animaux.ajouter("Chat"); System.out.println("Vector initial : " + animals); //Utiliser la méthode supprimer() String élément = animaux.supprimer(1); System.out.println("Removed Element: ") + element); System.out.println("New Vector: ") + animals); // Use the clear() method animals.clear(); System.out.println("Vector after clear(): ") + animals); } }
Output result
Initial Vector: [Dog, Horse, Cat] Removed Element: Horse New Vector: [Dog, Cat] Vector after clear(): []
Method | Content description |
---|---|
set() | Change the element of the vector |
size() | Return the size of the vector |
toArray() | Convert the vector to an array |
toString() | Convert the vector to a string |
contains() | Search for the specified element in the vector and return a boolean value |