Java tut 38: Java HashSet
Java HashSet
HashSet là một tập hợp các mục trong đó mọi mục là duy nhất và nó được tìm thấy trong java.util
gói:
Thí dụ
Tạo một HashSet
đối tượng có tên là ô tô sẽ lưu trữ các chuỗi:
import java.util.HashSet; // Import the HashSet class
HashSet<String> cars = new HashSet<String>();
Thêm các mục
Các HashSet
lớp học có nhiều phương pháp hữu ích. Ví dụ: để thêm các mục vào nó, hãy sử dụng add()
phương pháp:
Thí dụ
// Import the HashSet class
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> cars = new HashSet<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("BMW");
cars.add("Mazda");
System.out.println(cars);
}
}
Lưu ý: Trong ví dụ trên, mặc dù BMW được thêm hai lần, nó chỉ xuất hiện một lần trong tập hợp vì mọi mục trong một tập hợp phải là duy nhất.
Kiểm tra nếu một mặt hàng tồn tại
Để kiểm tra xem một mục có tồn tại trong HashSet hay không, hãy sử dụng contains()
phương pháp:
Thí dụ
cars.contains("Mazda");
Xóa một mục
Để xóa một mục, hãy sử dụng remove()
phương pháp:
Thí dụ
cars.remove("Volvo");
Để xóa tất cả các mục, hãy sử dụng clear()
phương pháp:
Thí dụ
cars.clear();
Kích thước bộ băm
Để biết có bao nhiêu mục, hãy sử dụng size
phương pháp:
Thí dụ
cars.size();
Loop Through a HashSet
Lặp qua các mục của một HashSet
với vòng lặp cho từng :
Thí dụ
for (String i : cars) {
System.out.println(i);
}
Các loại khác
Các mục trong HashSet thực sự là các đối tượng. Trong các ví dụ trên, chúng tôi đã tạo các mục (đối tượng) kiểu “Chuỗi”. Hãy nhớ rằng một chuỗi trong Java là một đối tượng (không phải là một kiểu nguyên thủy). Để sử dụng các loại khác, chẳng hạn như int, bạn phải xác định tương đương lớp wrapper : Integer
. Đối với các kiểu nguyên thủy khác, hãy sử dụng: Boolean
cho boolean, Character
cho char, Double
cho đôi, v.v.:
Thí dụ
Sử dụng một HashSet
lưu trữ Integer
các đối tượng:
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// Create a HashSet object called numbers
HashSet<Integer> numbers = new HashSet<Integer>();
// Add values to the set
numbers.add(4);
numbers.add(7);
numbers.add(8);
// Show which numbers between 1 and 10 are in the set
for(int i = 1; i <= 10; i++) {
if(numbers.contains(i)) {
System.out.println(i + " was found in the set.");
} else {
System.out.println(i + " was not found in the set.");
}
}
}
}