72. Set Interface trong lập trình Java

Trong lập trình Java, Set là một giao diện (interface) nằm trong gói java.util. Set là một trong những giao diện mở rộng từ giao diện Collection, và nó đại diện cho một tập hợp các phần tử không có thứ tự (unordered) và không chứa các phần tử trùng lặp.

Set không chứa các phần tử trùng lặp, do đó khi bạn thêm một phần tử vào Set mà đã tồn tại trong Set, nó sẽ không thay đổi tập hợp và không có phản hồi nào. Set thường được sử dụng để duy trì một danh sách các phần tử duy nhất.

Dưới đây là một số phương thức quan trọng của giao diện Set:

  1. boolean add(E element): Thêm một phần tử vào Set. Trả về true nếu phần tử chưa tồn tại trong Set, ngược lại trả về false.
  2. boolean remove(Object o): Xóa một phần tử khỏi Set nếu nó tồn tại. Trả về true nếu phần tử đã được xóa, ngược lại trả về false.
  3. boolean contains(Object o): Kiểm tra xem phần tử có tồn tại trong Set hay không.
  4. int size(): Trả về số lượng phần tử trong Set.
  5. boolean isEmpty(): Kiểm tra xem Set có rỗng không.
  6. void clear(): Xóa toàn bộ phần tử khỏi Set.
  7. Iterator<E> iterator(): Trả về một Iterator để duyệt qua các phần tử trong Set.

Các lớp cụ thể trong Java như HashSetTreeSet đều triển khai giao diện Set. Mỗi lớp cụ thể này cung cấp một cách cụ thể để triển khai các phương thức của Set, nhưng tất cả đều đảm bảo tính chất không có thứ tự và không chứa các phần tử trùng lặp.

Dưới đây là ví dụ về cách sử dụng giao diện Set và lớp cụ thể HashSet:

java
import java.util.Set;
import java.util.HashSet;

public class SetExample {
    public static void main(String[] args) {
        Set<String> names = new HashSet<>();

        // Thêm các phần tử vào Set
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");
        names.add("Alice"); // Phần tử đã tồn tại, sẽ không thêm vào lại

        // Xóa một phần tử khỏi Set
        names.remove("Charlie");

        // Kiểm tra xem Set có chứa một phần tử cụ thể hay không
        System.out.println("Contains Bob: " + names.contains("Bob")); // Output: Contains Bob: true

        // Kích thước của Set
        System.out.println("Size of set: " + names.size()); // Output: Size of set: 2

        // Kiểm tra xem Set có rỗng không
        System.out.println("Is set empty: " + names.isEmpty()); // Output: Is set empty: false

        // In ra danh sách các phần tử trong Set
        for (String name : names) {
            System.out.println(name);
        }
        /* Output:
           Alice
           Bob
        */

        // Xóa toàn bộ phần tử trong Set
        names.clear();
        System.out.println("After clearing: " + names); // Output: After clearing: []
    }
}

Set là một giao diện hữu ích trong Java, cho phép bạn làm việc với các tập hợp không có thứ tự và không chứa phần tử trùng lặp. Bạn có thể sử dụng các lớp cụ thể triển khai nó như HashSet, TreeSet, để quản lý các tập hợp dữ liệu duy nhất trong ứng dụng của mình.

Leave a Comment

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

Scroll to Top