79.Lớp HashSet trong lập trình Java

Trong lập trình Java, HashSet là một lớp con của java.util.Set và triển khai giao diện Set. Nó cung cấp một tập hợp không chứa các phần tử trùng lặp, và không duy trì thứ tự của các phần tử. HashSet cho phép thao tác nhanh với độ phức tạp thời gian gần như là O(1) cho các thao tác cơ bản như thêm, xóa và tra cứu (add, remove, contains).

Để sử dụng HashSet, bạn cần import gói java.util và sau đó khởi tạo đối tượng HashSet như sau:

java
import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        // Khởi tạo một HashSet kiểu Integer
        HashSet<Integer> numberSet = new HashSet<>();

        // Thêm phần tử vào HashSet
        numberSet.add(10);
        numberSet.add(20);
        numberSet.add(30);
        numberSet.add(40);
        numberSet.add(50);

        // In ra số lượng phần tử trong HashSet
        System.out.println("Số lượng phần tử trong HashSet: " + numberSet.size());

        // Kiểm tra xem một phần tử có tồn tại trong HashSet hay không
        boolean isExist = numberSet.contains(30);
        System.out.println("Có tồn tại phần tử 30 trong HashSet: " + isExist);

        // Xóa một phần tử khỏi HashSet
        numberSet.remove(40);

        // In ra tất cả các phần tử trong HashSet sử dụng vòng lặp for-each
        for (int number : numberSet) {
            System.out.println(number);
        }

        // Xóa tất cả các phần tử trong HashSet
        numberSet.clear();

        // Kiểm tra xem HashSet có trống không
        System.out.println("HashSet có trống không: " + numberSet.isEmpty());
    }
}

Lưu ý rằng khi sử dụng HashSet, phần tử được xem như duy nhất dựa vào việc so sánh giá trị của chúng, do đó, các đối tượng với cùng giá trị sẽ bị coi là trùng lặp và chỉ được chấp nhận một lần trong tập hợp. Để so sánh và xác định các phần tử là duy nhất, Java sẽ sử dụng phương thức hashCode()equals() được định nghĩa trong đối tượng của bạn (nếu không, nó sẽ sử dụng các phương thức mặc định của lớp Object). Do đó, nếu bạn muốn sử dụng lớp đối tượng tự định nghĩa trong HashSet, hãy chắc chắn rằng bạn đã định nghĩa đầy đủ các phương thức này.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top