Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa Tập hợp cây và Tập hợp băm trong Java

Bộ băm và bộ cây đều thuộc khuôn khổ bộ sưu tập. HashSet là sự triển khai của giao diện Set trong khi tập hợp Tree thực hiện tập hợp được sắp xếp. Tập hợp cây được hỗ trợ bởi TreeMap trong khi HashSet được hỗ trợ bởi một bản đồ băm.

Sr. Không. Phím Bộ băm Bộ Cây
1
Triển khai
Bộ băm được triển khai bằng HashTable
Tập hợp cây được thực hiện bằng cách sử dụng cấu trúc cây.
2
Đối tượng rỗng
HashSet cho phép một đối tượng rỗng
Tập hợp cây không cho phép đối tượng null. Nó ném ngoại lệ con trỏ null.
3
Phương thức
Bộ băm sử dụng phương thức bằng để so sánh hai đối tượng
Tập hợp cây sử dụng phương pháp so sánh để so sánh hai đối tượng.
4
Đối tượng không đồng nhất
Bộ băm bây giờ không cho phép một đối tượng không đồng nhất
Tập hợp cây cho phép một đối tượng không đồng nhất
5
Đặt hàng
HashSet không duy trì bất kỳ đơn hàng nào
TreeSet duy trì một đối tượng theo thứ tự được sắp xếp

Ví dụ về TreeSet

class TreeSetExmaple {
   public static void main(String[] args){
      TreeSet<String> treeset = new TreeSet<String>();
      treeset.add("Good");
      treeset.add("For");
      treeset.add("Health");
      //Add Duplicate Element
      treeset.add("Good");
      System.out.println("TreeSet : ");
      for (String temp : treeset) {
         System.out.println(temp);
      }
   }
}

Đầu ra

TreeSet:
   For
   Good
   Health

Ví dụ về HashSet

class HashSetExample {
   public static void main(String[] args){
      HashSet<String> hashSet = new HashSet<String>();
      hashSet.add("Good");
      hashSet.add("For");
      hashSet.add("Health");
      //Add Duplicate Element
      hashSet.add("Good");
      System.out.println("HashSet: ");
      for (String temp : hashSet) {
         System.out.println(temp);
      }
   }
}

Đầu ra

HashSet:
   Health
   For
   Good