English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Разница между деревом и хэш-мапой в Java

HashSet и TreeSet都属于 рамки классов. HashSet является реализацией интерфейса Set, а TreeSet реализует упорядоченный набор. TreeSet поддерживается TreeMap, а HashSet поддерживается HashMap.

НомерКлючHashSetTreeSet
1
Реализация 
HashSet реализуется с использованием HashTable 
TreeSet реализуется с использованием структуры дерева. 
2
Пустой объект 
HashSet позволяет использовать пустой объект 
TreeSet не позволяет использовать пустой объект. Он выбрасывает исключение NullPointerException. 
3
Метод 
HashSet использует метод equals для сравнения двух объектов 
TreeSet использует сравнительный метод для сравнения двух объектов. 
4
Гетерогенные объекты 
HashSet в настоящее время не позволяет использовать гетерогенные объекты 
TreeSet позволяет использовать гетерогенные объекты 
5
Заказ 
HashSet не поддерживает ningún orden 
TreeSet поддерживает порядок объектов 

Пример TreeSet

class TreeSetExmaple {
   public static void main(String[] args){
      TreeSet<String> treeset = new TreeSet<String>();
      treeset.add("Good");
      treeset.add("Для");
      treeset.add("Health");
      //Добавить дублирующийся элемент
      treeset.add("Good");
      System.out.println("TreeSet: ");
      for (String temp : treeset) {
         System.out.println(temp);
      }
   }
}

Результат вывода

TreeSet:
   Здоровье
   Для
   Хорошо

Пример HashSet

class HashSetExample {
   public static void main(String[] args){
      HashSet<String> hashSet = new HashSet<String>();
      hashSet.add("Good");
      hashSet.add("Для");
      hashSet.add("Health");
      //Добавить дублирующийся элемент
      hashSet.add("Good");
      System.out.println("HashSet: ");
      for (String temp : hashSet) {
         System.out.println(temp);
      }
   }
}

Результат вывода

TreeSet:
   Здоровье
   Хорошо
   Для
Основной учебник