68.Lớp Hashtable trong lập trình Java

trong lập trình Java, Lớp Hashtable là một lớp trong gói java.util trong Java, và nó được sử dụng để triển khai cấu trúc dữ liệu từ điển (dictionary). Tương tự như HashMap, Hashtable cũng triển khai giao diện Map, và nó chứa các cặp key-value duy nhất, trong đó key là không thể trùng lặp.

Một điểm khác biệt chính giữa HashtableHashMapHashtable là một lớp đồng bộ (synchronized), điều này làm cho nó an toàn khi sử dụng trong môi trường đa luồng (multi-threaded). Điều này có nghĩa là nhiều luồng có thể truy cập và sửa đổi Hashtable cùng một lúc mà không gây ra các lỗi đồng thời (concurrency issues).

Dưới đây là một số phương thức quan trọng của lớp Hashtable:

  1. void put(K key, V value): Thêm một cặp key-value vào Hashtable.
  2. V get(Object key): Lấy giá trị tương ứng với key từ Hashtable.
  3. V remove(Object key): Xóa cặp key-value có key tương ứng khỏi Hashtable.
  4. boolean containsKey(Object key): Kiểm tra xem Hashtable có chứa key hay không.
  5. boolean containsValue(Object value): Kiểm tra xem Hashtable có chứa value hay không.
  6. int size(): Trả về số lượng phần tử trong Hashtable.
  7. boolean isEmpty(): Kiểm tra xem Hashtable có rỗng không.
  8. Enumeration<K> keys(): Trả về một Enumeration chứa các key của Hashtable.
  9. Enumeration<V> elements(): Trả về một Enumeration chứa các value của Hashtable.

Dưới đây là ví dụ về cách sử dụng lớp Hashtable:

java
import java.util.Hashtable;
import java.util.Enumeration;

public class HashtableExample {
    public static void main(String[] args) {
        Hashtable<String, Integer> scores = new Hashtable<>();

        // Thêm các cặp key-value vào Hashtable
        scores.put("Alice", 90);
        scores.put("Bob", 85);
        scores.put("Charlie", 95);

        // Lấy giá trị tương ứng với key
        int aliceScore = scores.get("Alice");
        System.out.println("Alice's score: " + aliceScore); // Output: Alice's score: 90

        // Xóa một cặp key-value từ Hashtable
        scores.remove("Bob");

        // Kiểm tra sự tồn tại của key và value trong Hashtable
        System.out.println("Contains key 'Bob': " + scores.containsKey("Bob")); // Output: Contains key 'Bob': false
        System.out.println("Contains value 95: " + scores.containsValue(95)); // Output: Contains value 95: true

        // In ra danh sách key và value của Hashtable
        Enumeration<String> keys = scores.keys();
        while (keys.hasMoreElements()) {
            String key = keys.nextElement();
            int value = scores.get(key);
            System.out.println("Key: " + key + ", Value: " + value);
        }
        /* Output:
           Key: Alice, Value: 90
           Key: Charlie, Value: 95
        */
    }
}

Lớp Hashtable hữu ích khi bạn cần triển khai một từ điển đồng bộ (safe for use in multi-threaded environments) trong ứng dụng của mình. Tuy nhiên, trong các ứng dụng hiện đại, thường nên sử dụng HashMap thay thế cho Hashtable nếu không có yêu cầu đặc biệt về đồng bộ hóa.

Leave a Comment

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

Scroll to Top