Trong lập trình java, lớp Vector
là một trong những cấu trúc dữ liệu cổ điển trong lập trình Java, nằm trong gói java.util
. Nó là một lớp đồng bộ, có khả năng lưu trữ và quản lý một tập hợp động các phần tử. Tương tự như ArrayList
, nhưng Vector
hỗ trợ các phương thức đồng bộ hóa, làm cho nó an toàn khi sử dụng trong môi trường đa luồng (multi-threaded).
Mặc dù Vector
là một lớp đồng bộ và cung cấp sự an toàn khi làm việc với đa luồng, nhưng nó ít được sử dụng hơn so với ArrayList
trong các ứng dụng hiện đại, vì hiệu suất của ArrayList
có thể cao hơn khi chỉ có một luồng thực thi.
Dưới đây là một số phương thức quan trọng của lớp Vector
:
void addElement(E element)
: Thêm một phần tử vào cuối của Vector.E elementAt(int index)
: Trả về phần tử ở vị tríindex
trong Vector.int size()
: Trả về số lượng phần tử trong Vector.boolean contains(Object o)
: Kiểm tra xem phần tửo
có tồn tại trong Vector hay không.void removeElement(Object o)
: Xóa phần tửo
khỏi Vector nếu có tồn tại.void clear()
: Xóa toàn bộ phần tử trong Vector.void trimToSize()
: Giảm kích thước lưu trữ của Vector xuống phù hợp với số lượng phần tử hiện tại.
Dưới đây là một ví dụ về cách sử dụng lớp Vector
:
java
import java.util.Vector;
public class VectorExample {
public static void main(String[] args) {
Vector<String> fruits = new Vector<>();
// Thêm phần tử vào Vector
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// Truy cập phần tử trong Vector
System.out.println("First fruit: " + fruits.elementAt(0)); // Output: Apple
// Kiểm tra sự tồn tại của phần tử
System.out.println("Contains Mango: " + fruits.contains("Mango")); // Output: false
// Xóa phần tử khỏi Vector
fruits.removeElement("Banana");
System.out.println("After removing Banana: " + fruits); // Output: [Apple, Orange]
// Số lượng phần tử trong Vector
System.out.println("Number of fruits: " + fruits.size()); // Output: 2
// Xóa toàn bộ phần tử
fruits.clear();
System.out.println("After clearing: " + fruits); // Output: []
}
}
Như đã đề cập, mặc dù lớp Vector
có sự an toàn khi làm việc với đa luồng, nhưng trong các ứng dụng hiện đại, thường nên sử dụng ArrayList
hoặc LinkedList
thay thế, trừ khi bạn đang làm việc với mã lập trình cũ hoặc có yêu cầu đặc biệt về đồng bộ hóa.