TreeSet vs HashSet
1) HashSet обеспечивает стабильную производительность для основных операций, таких как: добавить, удалить, содержит и размер. HashSet быстрее, чем TreeSet и это будет очень хорошим выбором, если вам не нужно сортировать элементы, потому что HashSet не имеет системы сортировки. TreeSet Гарантированное время log(n) для основных операций (добавить, remove et содержит).
2) HashSet не гарантирует, что элементы будут отсортированы. TreeSet гарантирует, что элементы упорядочены в порядке возрастания или определены interface Comparable или что-то еще, что вы укажете в конструкторе, определенном интерфейсом Comparator Java.
3) Производительность обхода зависит от начальной емкости и коэффициента загрузки HashSet. TreeSet не имеет параметров, влияющих на производительность курса.
4) TreeSet предлагает методы, которых нет в HashSet : first(), last(), headSet() и tailSet().
5) HashSet использует метод equals() для сравнения двух объектов и обнаружения повторяющихся объектов. TreeSet использует метод compareTo(). equals() возвращает true, если оба объекта равны и compareTo() должен возвращать ноль.
5) HashSet использует метод equals() для сравнения двух объектов и обнаружения повторяющихся объектов. TreeSet использует метод compareTo(). equals() возвращает true, если оба объекта равны и compareTo() должен возвращать ноль.
Сходство между TreeSet и HashSet в Java
HashSet и TreeSet есть много общих вещей, давайте посмотрим:
1) Оба реализуют интерфейс java.util.Set, CE что означает, что они не позволяют вставлять повторяющиеся элементы.
1) Оба реализуют интерфейс java.util.Set, CE что означает, что они не позволяют вставлять повторяющиеся элементы.
2) Эти две реализации не синхронизированы. Вы можете синхронизировать их с помощью Collections.synchronizedSet().
3) Если вам нужен отсортированный набор, быстрее добавить элементы в HashSet а затем преобразуйте их в TreeSet чем создать TreeSet и добавляем elements.
В итоге можно сказать, что выбор использования полностью зависит от ваших потребностей.
3) Если вам нужен отсортированный набор, быстрее добавить элементы в HashSet а затем преобразуйте их в TreeSet чем создать TreeSet и добавляем elements.
В итоге можно сказать, что выбор использования полностью зависит от ваших потребностей.
Пример HashSet:
import java.util.HashSet;TreeSet example:
public class example: {
public static void main(String[] args) {
HashSet< Строка> hset = новый HashSet< Строка> ();
hset.add("1");
hset.add("3");
hset.add("2");
hset.add("5");
for(String s: hset)
System.out.println(s);
}
}
Результат:
3
2
1
5
import java.util.TreeSet;References:
public class example: {
public static void main(String[] args) {
TreeSet< Строка> tset = новый TreeSet< Строка> ();
tset.add("1");
tset.add("3");
tset.add("2");
tset.add("5");
for(String s: tset)
System.out.println(s);
}
}
Result:
1
2
3
5
Разница между HashSet и TreeSet в Java
Hashset vs Treeset
Commentaires (0)
Laisser un commentaire
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Chargement des commentaires...