Computer >> Máy Tính >  >> Lập trình >> Java

Cách sử dụng Vector trong Java

Cách sử dụng Vector trong Java

Trong Java, có rất nhiều lớp được sử dụng để lưu trữ các loại dữ liệu cụ thể. Mỗi lớp có các tính năng riêng và lớp được sử dụng để lưu trữ một loại dữ liệu xác định cách nó có thể được truy cập và thao tác.

Một trong những lớp quan trọng nhất trong Java là lớp Vector. Vector là một triển khai của giao diện Danh sách và được sử dụng để tạo các mảng có thể thay đổi kích thước.

Hướng dẫn này sẽ đi qua, với tham chiếu đến các ví dụ, cách sử dụng lớp Vector trong Java để tạo các mảng có thể thay đổi kích thước. Ngoài ra, hướng dẫn này sẽ thảo luận về cách Vector so sánh với lớp ArrayList, lớp này rất giống với Vector.

Giao diện danh sách Java

Giao diện Danh sách được sử dụng để tạo các tập dữ liệu có thứ tự trong Java. Ví dụ:một Danh sách có thể lưu trữ danh sách những đôi giày được bán trong một cửa hàng giày hoặc danh sách tên của mọi nhân viên làm việc cho một ngân hàng.

Tuy nhiên, vì Danh sách là một giao diện, bạn không thể tạo một đối tượng từ Danh sách. Vì vậy, nếu bạn muốn tạo một danh sách, bạn cần sử dụng một trong các lớp mở rộng giao diện Danh sách. Đó là:ArrayList, LinkedList, Vector và Stack. Hướng dẫn này sẽ tập trung vào cách bạn có thể sử dụng lớp Vector để tạo đối tượng Danh sách trong Java.

Véc tơ Java

Vector sử dụng giao diện Danh sách để tạo các mảng có thể thay đổi kích thước. Để tạo một vectơ trong Java, bạn có thể sử dụng cú pháp sau:

Vector<DataType> vector_name = new Vector<>();

Hãy chia cú pháp này thành các phần cơ bản của nó:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

  • Vectơ cho chương trình của chúng tôi biết rằng chúng tôi muốn khai báo một vectơ.
  • DataType là loại dữ liệu mà vectơ của chúng tôi sẽ lưu trữ.
  • vector_name là tên của vectơ của chúng tôi.
  • Vectơ mới <> (); tạo một vectơ mới và gán nó cho vector_name biến.

Ví dụ:giả sử chúng ta muốn khai báo một vectơ lưu trữ tất cả các màu đèn mà cửa hàng bách hóa của chúng ta bán. Chúng tôi có thể sử dụng mã này để khai báo vectơ:

Vector<String> lamp_colors = new Vector>?();

Bây giờ chúng ta có một vectơ có tên là lamp_colors có thể lưu trữ tất cả các màu đèn mà cửa hàng bách hóa của chúng tôi bán.

Phương thức vectơ Java

Lớp Java Vector cung cấp một số phương thức được sử dụng để truy xuất và thao tác dữ liệu được lưu trữ trong một vector. Hãy phân tích một số phương thức quan trọng nhất được cung cấp bởi lớp Vector.

Thêm các mục vào một vectơ

Có ba phương pháp được sử dụng để thêm các mục vào vectơ. Cái bạn sử dụng sẽ phụ thuộc vào cách bạn muốn thêm một mục vào vectơ.

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

add() được sử dụng để thêm một phần tử vào một vectơ. Cú pháp cho add() phương pháp là:

add(index, elementName);

add() phương thức chấp nhận hai tham số:

  • chỉ mục là giá trị chỉ mục mà tại đó mục bạn chỉ định sẽ được thêm vào một vectơ.
  • elementName là mục bạn muốn thêm vào vectơ.

Nếu bạn muốn thêm một mục vào cuối vectơ, hãy index tham số là không cần thiết.

Giả sử chúng tôi đang điều hành một chuỗi cửa hàng bách hóa và chúng tôi đang lập danh sách các màu mà một chiếc đèn bàn cụ thể được bán cho dòng sản phẩm nội thất mới của chúng tôi. Nhà sản xuất vừa thông báo với chúng tôi rằng đèn màu cam và xanh lam sẽ đi kèm với đơn hàng tiếp theo, vì vậy chúng tôi muốn thêm màu cam và xanh lam vào danh sách màu sắc của mình.

Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> lamp_colors = new Vector<>();
		
		lamp_colors.add("Orange");
		lamp_colors.add("Blue");

		System.out.println("Vector: " + lamp_colors);
	}
}

Mã của chúng tôi trả về:

Vector: [Orange, Blue]

Như bạn có thể thấy, mã của chúng tôi đã thêm OrangeBlue tới lamp_colors của chúng tôi vectơ.

Giả sử nhà sản xuất vừa liên hệ để nói với chúng tôi rằng họ cũng sẽ phân phối đèn màu xám của chúng tôi. Chúng tôi muốn thêm đèn màu xám vào đầu danh sách của mình vì chúng tôi hy vọng chúng sẽ phổ biến hơn các màu khác. Chúng tôi có thể làm như vậy bằng cách sử dụng ví dụ ở trên và thêm mã này:

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> lamp_colors = new Vector<>();
		
		lamp_colors.add("Orange");
		lamp_colors.add("Blue");
lamp_colors.add(0, "Gray");

		System.out.println("Vector: " + lamp_colors);
	}
}

Mã của chúng tôi trả về:

Vector: [Gray, Orange, Blue]

Trong ví dụ này, chúng tôi đã sử dụng add() phương pháp thêm Gray tới lamp_colors vectơ. Chúng tôi đã chỉ định tham số chỉ mục 0 trong mã của chúng tôi, tham số này cho biết add() để thêm Gray mục vào vị trí chỉ mục 0. Nói cách khác, chúng tôi đã thêm Gray vào đầu vectơ của chúng ta. Sau đó, chúng tôi yêu cầu chương trình của chúng tôi in ra toàn bộ vector.

Hợp nhất các vectơ

addAll() được sử dụng để thêm tất cả các phần tử từ một vectơ sang một vectơ khác.

Giả sử chúng ta có hai danh sách:dải màu và màu đèn. Chúng tôi muốn hợp nhất hai danh sách này với nhau bởi vì nhà sản xuất đèn của chúng tôi đã cho chúng tôi biết họ sẽ có thể sản xuất đèn ở mọi màu trong dải màu của chúng tôi. Chúng tôi có thể sử dụng mã sau để hợp nhất hai danh sách vectơ này với nhau:

import java.util.Vector;

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

		color_range.add("Blue");
		color_range.add("Black");
		color_range.add("Gray");
		color_range.add("Pink");
		color_range.add("Orange");

		lamp_colors.addAll(color_range);

		System.out.println("Color range: " + color_range);
		System.out.println("Lamp colors: " + lamp_colors);
	}
}

Mã của chúng tôi trả về:

Color range: [Blue, Black, Gray, Pink, Orange]
Lamp colors: [Blue, Black, Gray, Pink, Orange]

Đầu tiên, mã của chúng tôi đã thêm các màu trong dải màu của chúng tôi vào vectơ color_range . Sau đó, chúng tôi sử dụng addAll() để thêm tất cả các màu từ color_range tới lamp_colors vectơ. Trên những dòng cuối cùng trong mã của chúng tôi, chúng tôi in ra cả nội dung của color_range lamp_colors vào bảng điều khiển.

Lấy các phần tử từ một vectơ

get() phương thức được sử dụng để truy xuất một phần tử cụ thể từ một vectơ. get() chấp nhận một tham số:giá trị chỉ mục của mục bạn muốn truy xuất.

Giả sử danh sách các màu đèn của chúng tôi được lưu trữ theo thứ tự bảng chữ cái và chúng tôi muốn truy xuất mục đầu tiên trong danh sách của mình. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

import java.util.Vector;

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

lamp_colors.add("Black");
		lamp_colors.add("Blue");
		lamp_colors.add("Gray");
		lamp_colors.add("Orange");
		lamp_colors.add("Pink");

		String first_element = lamp_colors.get(0);

		System.out.println("First element in list: " + first_element);
	}
}

Mã của chúng tôi trả về:

First element in list: Black

Trong mã của chúng tôi, chúng tôi sử dụng get() phương pháp để truy xuất mục đầu tiên trong lamp_colors vectơ. Chúng tôi chỉ định tham số chỉ mục 0, tham số này yêu cầu mã của chúng tôi truy xuất mục đầu tiên trong vectơ, hay nói cách khác là mục ở vị trí chỉ mục 0. Sau đó, chúng tôi in phần tử đầu tiên trong danh sách ra bảng điều khiển, trước đó là message First element in list: .

Xóa các phần tử khỏi một vectơ

Có ba phương pháp có thể được sử dụng để xóa các phần tử khỏi vectơ:remove() , removeAll()clear().

Xóa một phần tử

remove() được sử dụng để loại bỏ một phần tử duy nhất khỏi một vectơ. remove() a c chấp nhận một tham số:vị trí chỉ mục của phần tử bạn muốn xóa khỏi vectơ.

Hãy quay lại cửa hàng bách hóa. Nhà sản xuất của chúng tôi đã thông báo cho chúng tôi rằng họ không còn có thể sản xuất đèn màu cam của chúng tôi nữa và vì vậy chúng tôi cần xóa chúng khỏi danh sách các màu mà đèn của chúng tôi được bán. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

import java.util.Vector;

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

lamp_colors.add("Black");
		lamp_colors.add("Blue");
		lamp_colors.add("Gray");
		lamp_colors.add("Orange");
		lamp_colors.add("Pink");

		lamp_colors.remove(3);

		System.out.println("New color list: " + lamp_colors);
	}
}

Mã của chúng tôi trả về:

New color list: [Black, Blue, Gray, Pink]

Chúng tôi đã sử dụng remove() để loại bỏ mục ở vị trí chỉ mục 3 trong danh sách của chúng tôi. Trong trường hợp này, giá trị của mặt hàng đó là Orange . Sau đó, chúng tôi in danh sách màu đã sửa đổi ra bảng điều khiển, trước đó là thông báo New color list: .

Xóa tất cả các phần tử

removeAll()clear() các phương thức được sử dụng để xóa tất cả các phần tử khỏi danh sách. Nói chung, sử dụng clear() được ưa chuộng vì nó hiệu quả hơn, nhưng bạn cũng có thể sử dụng removeAll() phương pháp.

Giả sử nhà sản xuất đã quyết định rằng họ sẽ không thể sản xuất đèn của chúng tôi nữa vì họ đang cắt giảm quy mô hoạt động. Vì vậy, chúng tôi sẽ không bán đèn nữa cho đến khi tìm được nhà sản xuất mới. Chúng tôi có thể sử dụng danh sách sau để loại bỏ tất cả các màu của đèn chúng tôi bán:

import java.util.Vector;

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

lamp_colors.add("Black");
		lamp_colors.add("Blue");
		lamp_colors.add("Gray");
		lamp_colors.add("Orange");
		lamp_colors.add("Pink");

		lamp_colors.clear();

		System.out.println("New color list: " + lamp_colors);
	}
}

Mã của chúng tôi trả về:

New color list: []

Chúng tôi đã sử dụng clear() phương pháp xóa tất cả các phần tử trong lamp_colors vectơ. Sau đó, trên dòng cuối cùng của mã, chúng tôi in ra cụm từ Danh sách màu mới:“, theo sau là vectơ trống.

Java Vector và ArrayList

Cả ArrayList và Vector đều triển khai giao diện danh sách Java. Các lớp này cũng cung cấp các phương thức giống nhau. Tuy nhiên, có một vài khác biệt giữa hai lớp.

Sự khác biệt chính cần lưu ý là lớp Vector được đồng bộ hóa, có nghĩa là chỉ một luồng tại một thời điểm có thể truy cập mã. Mặt khác, ArrayList không được đồng bộ hóa và vì vậy nhiều luồng có thể hoạt động trên danh sách cùng một lúc.

Phương thức vectơ bổ sung

Ngoài ra, có một số phương pháp khác có thể được sử dụng để thao tác với dữ liệu được lưu trữ trong một vectơ. Đây là bảng tham chiếu với các phương pháp này:

Tên phương pháp Mô tả
chứa () Tìm kiếm một vectơ cho một giá trị cụ thể
vòng lặp () Lặp lại qua một vectơ
set () Thay đổi một phần tử trong vectơ
size () Trả về độ dài của vectơ
toArray () Chuyển đổi một vectơ thành một mảng
toString () Chuyển đổi một vectơ thành một chuỗi

Kết luận

Lớp Vector được sử dụng trong Java để lưu trữ dữ liệu bằng giao diện Danh sách. Ví dụ:một Vector có thể được sử dụng để lưu trữ danh sách các sản phẩm được bán tại một cửa hàng bách hóa hoặc danh sách các chất bổ sung có sẵn tại một cửa hàng thuốc địa phương.

Hướng dẫn này đã thảo luận về những điều cơ bản của lớp Java Vector, cách tạo một vector và sự khác biệt chính giữa Vector và ArrayList. Ngoài ra, hướng dẫn này cũng giới thiệu các phương pháp chính có thể được sử dụng để truy xuất và thao tác nội dung của một vectơ, có tham chiếu đến các ví dụ.

Bây giờ bạn có các kỹ năng cần thiết để bắt đầu sử dụng lớp Vector trong Java như một người chuyên nghiệp!