Разлика между TreeSet и HashSet

Съдържание:

Разлика между TreeSet и HashSet
Разлика между TreeSet и HashSet

Видео: Разлика между TreeSet и HashSet

Видео: Разлика между TreeSet и HashSet
Видео: HashSet и TreeSet - Collections #1 - Advanced Java 2024, Декември
Anonim

Ключова разлика - TreeSet срещу HashSet

Повечето езици за програмиране поддържат масиви. Това е структура от данни, която се използва за съхраняване на множество елементи от един и същи тип данни. Ако има деклариран масив за шест елемента, той не може да се използва за съхраняване на десет елемента. Следователно масивите не са динамични и не могат да променят размера на масива, след като той бъде деклариран. Езици за програмиране като Java поддържа колекции, които се използват за динамично съхранение на данни. Колекциите поддържат операции като добавяне на елементи и изтриване на елементи. В йерархията на колекцията има редица интерфейси и класове. Основният интерфейс е интерфейсът за събиране. Set е интерфейс, който разширява интерфейса за събиране. Не позволява дублиране. TreeSet и HashSet са два класа в йерархията на Collection и и двата реализират интерфейса Set. TreeSet е клас, който реализира интерфейса Set и се използва за съхраняване на уникални елементи във възходящ ред. HashSet е клас, който реализира интерфейса Set и се използва за съхраняване на уникални елементи с помощта на механизма за хеширане. Ключовата разлика между TreeSet и HashSet е, че TreeSet съхранява елементите във възходящ ред, докато HashSet не съхранява елементите във възходящ ред. И TreeSet, и HashSet съхраняват само уникални елементи.

СЪДЪРЖАНИЕ

1. Общ преглед и ключова разлика

2. Какво е набор от дървета

3. Какво е набор от хъшове

4. Прилики между TreeSet и HashSet

5. Равно до сравнение - TreeSet срещу HashSet в таблична форма

6. Резюме

Какво е TreeSet?

Класът TreeSet реализира интерфейс NavigableSet. Интерфейсът NavigableSet разширява интерфейсите SortedSet, Set, Collection и Iterable в йерархичен ред. TreeSet винаги поддържа възходящ ред. Ако елементите са вмъкнати в реда B, A, C, те ще се съхраняват като A, B, C. Методите като add (), remove () могат да се използват с TreeSet обект. Методът add може да се използва за добавяне на елемент. Методът remove се използва за премахване на елемент от колекцията. Това са някои методи, които могат да се използват с TreeSet.

Разлика между TreeSet и HashSet
Разлика между TreeSet и HashSet

Фигура 01: Програма с TreeSet

Според горната програма се създава обект от тип TreeSet. Низовите елементи от данни се добавят към този обект с помощта на метода add. Редът за въвеждане на данни е A, D, A, B, C, D. Използвайки итератора, съхранените стойности се отпечатват на екрана. Изходът е A, B, C, D. Въпреки че има две букви A и две букви D, изходът показва по една A и по D. Следователно TreeSet съхранява уникални елементи. Няма определен ред за вмъкване, но когато наблюдаваме изхода, може да се види, че TreeSet поддържа възходящия ред на елементите.

Какво е HashSet?

Класът HashSet разширява класа AbstractSet, който реализира Set Interface. Интерфейсът Set наследява интерфейси Collection и Iterable в йерархичен ред. В HashSet няма гаранция, че елементите ще поддържат възходящ ред и вмъкнат ред. Ако вмъкнатият ред е A, B, C, тогава стойностите могат да се съхраняват като C, A, B. Редът за съхранение също може да бъде A, B, C, но няма гаранция, че вмъкнатият или възходящ ред се запазват.

Основна разлика между TreeSet и HashSet
Основна разлика между TreeSet и HashSet

Фигура 02: Програма с HashSet

Според горната програма се създава обект от тип HashSet. Низовите елементи от данни се добавят към този обект с помощта на метода add. Редът за въвеждане на данни е L, R, M, M, R, L. Използвайки итератора, запазените стойности се отпечатват на екрана. Изходът е RL M. Въпреки че има две букви L, R и M от всяка, се показва само по една буква от всяка. Следователно HashSet съхранява уникални елементи. При наблюдение на изхода може да се види, че няма възходящ ред или вмъкнатият ред се поддържа.

Какви са приликите между TreeSet и HashSet?

  • Двете TreeSet и HashSet са класове, принадлежащи към йерархията на колекциите.
  • Както TreeSet, така и HashSet съхраняват само уникални елементи.
  • Както TreeSet, така и HashSet могат да се използват за съхраняване и манипулиране на много елементи.
  • Както TreeSet, така и HashSet не поддържат вмъкнатия ред.

Каква е разликата между TreeSet и HashSet?

Различна статия Средна преди таблица

TreeSet срещу HashSet

TreeSet е клас в йерархията на колекцията, който се използва за съхраняване на уникални елементи във възходящ ред. HashSet е клас в йерархията на колекциите, който се използва за съхраняване на уникални елементи с помощта на механизма за хеширане.
Съхранение на елементи
TreeSet съхранява елементите във възходящ ред. HashSet не съхранява елементите във възходящ ред.

Резюме - TreeSet срещу HashSet

При програмирането се изисква динамичното съхраняване на елементи от данни. Езици за програмиране като Java поддържа Колекции за постигане на тази задача. В йерархията на колекцията има редица интерфейси и класове. TreeSet и HashSet са два класа в йерархията на Collection. И двете изпълняват интерфейса Set. TreeSet е клас, който реализира интерфейса Set и се използва за съхраняване на уникални елементи във възходящ ред. HashSet е клас, който реализира интерфейса Set и се използва за съхраняване на уникални елементи с помощта на механизма за хеширане. Разликата между TreeSet и HashSet е, че TreeSet съхранява елементите във възходящ ред, докато HashSet не съхранява елементите във възходящ ред. Тази статия обсъжда разликата между TreeSet и HashSet.

Препоръчано: