Rate this post

Hashtable trong Java là một lớp của thư viện Collections Framework. Nó là một thực thể của Map interface và lưu trữ các phần tử dựa trên thuật toán Hash. Hashtable là một phiên bản của HashMap, nhưng nó được đồng bộ hóa (thread-safe), nghĩa là nó có thể được sử dụng trong nhiều luồng một cùng một thời điểm mà không gặp lỗi.

Các bài viết liên quan:

Hashtable có các tính năng tương tự như HashMap, nhưng khác với HashMap, Hashtable không cho phép giá trị null. Nó cũng không giữ thứ tự của các phần tử.

Ví dụ:

Hashtable<String, Integer> table = new Hashtable<>();
table.put("apple", 1);
table.put("banana", 2);
table.put("orange", 3);
System.out.println(table); // Output: {orange=3, banana=2, apple=1

khi nào nên sử dụng hashtable trong java

Hashtable trong Java nên được sử dụng khi bạn cần một Map được đồng bộ hóa (thread-safe) và không cho phép giá trị null.

Trong trường hợp bạn cần sử dụng một Map trong một môi trường đa luồng, Hashtable sẽ là lựa chọn tốt hơn so với HashMap. Vì Hashtable được đồng bộ hóa, nó sẽ tránh lỗi liên quan đến việc đọc và ghi trong một môi trường đa luồng.

Hashtable cũng có thể sử dụng trong các trường hợp như:

  • Lưu trữ các cặp key-value: Bạn có thể sử dụng Hashtable để lưu trữ các cặp key-value và truy xuất chúng bằng cách sử dụng phương thức get() và put().
  • Tìm kiếm và xóa phần tử: Hashtable sử dụng thuật toán Hash để lưu trữ các phần tử, nên nó có thể tìm kiếm và xóa phần tử một cách hiệu quả.
  • Lưu trữ thông tin bảo mật: Hashtable có thể được sử dụng để lưu trữ thông tin bảo mật như mật khẩu và tài khoản, vì nó được đồng bộ hóa và không cho phép giá trị null.

Tuy nhiên, nếu bạn không cần đồng bộ hóa hoặc không cần giới hạn giá trị null, HashMap sẽ là một lựa chọn tốt hơn vì nó có hiệu suất tốt hơn so với Hashtable.

Một vài ví dụ về hashtable trong java

Ví dụ 1: Tạo một hashtable và thêm các phần tử vào hashtable:

Hashtable<String, Integer> table = new Hashtable<>();
table.put("apple", 1);
table.put("banana", 2);
table.put("orange", 3);
System.out.println(table); // Output: {orange=3, banana=2, apple=1}

Ví dụ 2: Truy xuất giá trị theo key:

Hashtable<String, Integer> table = new Hashtable<>();
table.put("apple", 1);
table.put("banana", 2);
table.put("orange", 3);

int value = table.get("banana");
System.out.println(value); // Output: 2

Ví dụ 3: Xóa phần tử khỏi hashtable:

Hashtable<String, Integer> table = new Hashtable<>();
table.put("apple", 1);
table.put("banana", 2);
table.put("orange", 3);

table.remove("banana");
System.out.println(table); // Output: {orange=3, apple=1}

Ví dụ 4: Duyệt qua các phần tử trong hashtable:

Hashtable<String, Integer> table = new Hashtable<>();
table.put("apple", 1);
table.put("banana", 2);
table.put("orange", 3);

Enumeration<String> keys = table.keys();
while(keys.hasMoreElements()) {
    String key = keys.nextElement();
    System.out.println(key + " : " + table.get(key));
}

Các ví dụ trên chỉ là một số ví dụ về cách sử dụng Hashtable trong Java, có rất nhiều cách khác để sử dụng Hashtable để phù hợp với nhu cầu của bạn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now