Véc tơ Java

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về lớp Vector và cách sử dụng nó. Chúng ta cũng sẽ tìm hiểu nó khác với lớp ArrayList như thế nào và tại sao chúng ta nên sử dụng danh sách mảng để thay thế.

Các Vectorlớp học là một thực hiện các Listgiao diện cho phép chúng ta tạo ra thay đổi kích thước-mảng tương tự như ArrayList lớp.

Java Vector so với ArrayList

Trong Java, cả hai ArrayListvà Vectorthực thi Listgiao diện và cung cấp các chức năng giống nhau. Tuy nhiên, tồn tại một số khác biệt giữa chúng.

Các Vectorlớp đồng bộ từng hoạt động cá nhân. Điều này có nghĩa là bất cứ khi nào chúng ta muốn thực hiện một số thao tác trên vectơ, Vectorlớp sẽ tự động áp dụng một khóa cho thao tác đó.

Đó là bởi vì khi một luồng đang truy cập vào một vector và đồng thời một luồng khác cố gắng truy cập nó, một ngoại lệ được gọi ConcurrentModificationExceptionlà được tạo ra. Do đó, việc sử dụng liên tục khóa này cho mỗi hoạt động làm cho vectơ kém hiệu quả hơn.

Tuy nhiên, trong danh sách mảng, các phương thức không được đồng bộ hóa. Thay vào đó, nó sử dụng Collections.synchronizedList()phương pháp đồng bộ hóa toàn bộ danh sách.

Lưu ý: Nên sử dụng ArrayListthay Vectorvì vectơ không an toàn cho luồng và kém hiệu quả hơn.

Tạo một vectơ

Đây là cách chúng ta có thể tạo vectơ trong Java.

Vector<Type> vector = new Vector<>();

Ở đây, Loại cho biết loại danh sách được liên kết. Ví dụ,

// create Integer type linked list
Vector<Integer> vector= new Vector<>();

// create String type linked list
Vector<String> vector= new Vector<>();

Phương pháp vectơ

Các Vectorlớp học cũng cung cấp việc triển khai thay đổi kích thước mảng của Listgiao diện (tương tự như các ArrayListlớp). Một số Vectorphương pháp là:

Thêm phần tử vào vectơ

  • add(element) – adds an element to vectors
  • add(index, element) – adds an element to the specified position
  • addAll(vector) – adds all elements of a vector to another vector

Ví dụ,

import java.util.Vector;

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

        // Using the add() method
        mammals.add("Dog");
        mammals.add("Horse");

        // Using index number
        mammals.add(2, "Cat");
        System.out.println("Vector: " + mammals);

        // Using addAll()
        Vector<String> animals = new Vector<>();
        animals.add("Crocodile");

        animals.addAll(mammals);
        System.out.println("New Vector: " + animals);
    }
}

Đầu ra

Vector: [Dog, Horse, Cat]
New Vector: [Crocodile, Dog, Horse, Cat]

Truy cập các phần tử vectơ

  • get(index) – returns an element specified by the index
  • iterator() – returns an iterator object to sequentially access vector elements

Ví dụ,

import java.util.Iterator;
import java.util.Vector;

class Main {
    public static void main(String[] args) {
        Vector<String> animals= new Vector<>();
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");

        // Using get()
        String element = animals.get(2);
        System.out.println("Element at index 2: " + element);

        // Using iterator()
        Iterator<String> iterate = animals.iterator();
        System.out.print("Vector: ");
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

Đầu ra

Element at index 2: Cat
Vector: Dog, Horse, Cat,

Xóa các phần tử vectơ

  • remove(index) – removes an element from specified position
  • removeAll() – removes all the elements
  • clear() – removes all elements. It is more efficient than removeAll()

Ví dụ,

import java.util.Vector;

class Main {
    public static void main(String[] args) {
        Vector<String> animals= new Vector<>();
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");

        System.out.println("Initial Vector: " + animals);

        // Using remove()
        String element = animals.remove(1);
        System.out.println("Removed Element: " + element);
        System.out.println("New Vector: " + animals);

        // Using clear()
        animals.clear();
        System.out.println("Vector after clear(): " + animals);
    }
}

Đầu ra

Initial Vector: [Dog, Horse, Cat]
Removed Element: Horse
New Vector: [Dog, Cat]
Vector after clear(): []

Các phương pháp vectơ khác

MethodsDecfscriptions
set()changes an element of the vector
size()returns the size of the vector
toArray()converts the vector into an array
toString()converts the vector into a String
contains()searches the vector for specified element and returns a boolean result








Gõ tìm kiếm nhanh...