Erinevus TreeSeti ja HashSeti vahel

Sisukord:

Erinevus TreeSeti ja HashSeti vahel
Erinevus TreeSeti ja HashSeti vahel

Video: Erinevus TreeSeti ja HashSeti vahel

Video: Erinevus TreeSeti ja HashSeti vahel
Video: Карты отображений в Java. HashTable, TreeMap, HashMap. Java Professional. Урок 3 2024, November
Anonim

Võtmete erinevus – TreeSet vs HashSet

Enamik programmeerimiskeeli toetab massiive. See on andmestruktuur, mida kasutatakse mitme sama andmetüübi elemendi salvestamiseks. Kui kuue elemendi jaoks on deklareeritud massiiv, ei saa seda kasutada kümne elemendi salvestamiseks. Seetõttu ei ole massiivid dünaamilised ega saa pärast deklareerimist massiivi suurust muuta. Programmeerimiskeeled, nagu Java, toetavad kogusid, mida kasutatakse andmete dünaamiliseks salvestamiseks. Kogud toetavad toiminguid, nagu elementide lisamine ja kustutamine. Kogu hierarhias on mitmeid liideseid ja klasse. Põhiliides on koguliides. Set on liides, mis laiendab kogu liidest. See ei võimalda dubleerimist. TreeSet ja HashSet on kogumise hierarhias kaks klassi ja mõlemad rakendavad komplekti liidest. TreeSet on klass, mis rakendab Set liidest ja seda kasutatakse unikaalsete elementide salvestamiseks kasvavas järjekorras. HashSet on klass, mis rakendab Set liidest ja seda kasutatakse unikaalsete elementide salvestamiseks räsimehhanismi abil. Peamine erinevus TreeSeti ja HashSeti vahel on see, et TreeSet salvestab elemendid kasvavas järjekorras, samas kui HashSet ei salvesta elemente kasvavas järjekorras. Nii TreeSet kui ka HashSet salvestavad ainult unikaalseid elemente.

Mis on TreeSet?

TreeSeti klass rakendab NavigableSeti liidest. Liides NavigableSet laiendab liideseid SortedSet, Set, Collection ja Iterable hierarhilises järjekorras. TreeSet säilitab alati kasvavas järjekorras. Kui elemendid sisestati järjestuses B, A, C, salvestatakse need kujul A, B, C. TreeSet objektiga saab kasutada selliseid meetodeid nagu add (), eemalda (). Elemendi lisamiseks saab kasutada lisamismeetodit. Eemaldamismeetodit kasutatakse elemendi eemaldamiseks kogust. Need on mõned meetodid, mida saab TreeSetiga kasutada.

Erinevus TreeSeti ja HashSeti vahel
Erinevus TreeSeti ja HashSeti vahel

Joonis 01: Programm TreeSetiga

Vastav alt ül altoodud programmile luuakse TreeSet tüüpi objekt. Stringi andmeelemendid lisatakse sellele objektile lisamismeetodi abil. Andmete sisestamise järjekord on A, D, A, B, C, D. Iteraatori abil prinditakse salvestatud väärtused ekraanile. Väljund on A, B, C, D. Kuigi on kaks A-tähte ja kaks D-tähte, kuvatakse väljundis üks A ja üks D. Seetõttu salvestab TreeSet ainulaadseid elemente. Konkreetset sisestamisjärjekorda pole, kuid väljundit jälgides on näha, et TreeSet säilitab elementide kasvavas järjekorras.

Mis on HashSet?

Klass HashSet laiendab klassi AbstractSet, mis rakendab Set Interface'i. Liides Set pärib kogumise ja itereeritava liidesed hierarhilises järjekorras. HashSetis ei ole mingit garantiid, et elemendid säilitavad kasvavas ja sisestatud järjestuses. Kui sisestatud järjestus oli A, B, C, võidakse väärtused salvestada kujul C, A, B. Salvestusjärjestus võib olla ka A, B, C, kuid pole garantiid, et sisestatud või tõusev järjekord säilib.

Peamised erinevused TreeSeti ja HashSeti vahel
Peamised erinevused TreeSeti ja HashSeti vahel

Joonis 02: Programm koos HashSetiga

Vastav alt ül altoodud programmile luuakse HashSet tüüpi objekt. Stringi andmeelemendid lisatakse sellele objektile lisamismeetodi abil. Andmete sisestamise järjekord on L, R, M, M, R, L. Iteraatori abil trükitakse salvestatud väärtused ekraanile. Väljund on R L M. Kuigi mõlemas on kaks L-, R- ja M-tähte, kuvatakse mõlemast ainult üks täht. Seetõttu salvestab HashSet ainulaadseid elemente. Väljundit jälgides on näha, et kasvavat järjekorda pole või sisestatud järjekord säilib.

Millised on TreeSeti ja HashSeti sarnasused?

  • Nii TreeSet kui ka HashSet kuuluvad kogude hierarhiasse.
  • Nii TreeSet kui ka HashSet salvestavad ainult unikaalseid elemente.
  • Nii TreeSeti kui ka HashSeti saab kasutada paljude elementide salvestamiseks ja nendega manipuleerimiseks.
  • Nii TreeSet kui ka HashSet ei säilita sisestatud järjekorda.

Mis vahe on TreeSetil ja HashSetil?

TreeSet vs HashSet

TreeSet on klass kogu hierarhias, mida kasutatakse unikaalsete elementide salvestamiseks kasvavas järjekorras. HashSet on klass kogu hierarhias, mida kasutatakse unikaalsete elementide salvestamiseks räsimehhanismi abil.
Elementide salvestamine
TreeSet salvestab elemendid kasvavas järjekorras. HashSet ei salvesta elemente kasvavas järjekorras.

Kokkuvõte – TreeSet vs HashSet

Programmeerimisel on nõutav andmeelementide dünaamiline salvestamine. Programmeerimiskeeled, nagu Java, toetavad selle ülesande täitmiseks kogusid. Kogu hierarhias on mitmeid liideseid ja klasse. TreeSet ja HashSet on kogu hierarhias kaks klassi. Mõlemad rakendavad liidest Set. TreeSet on klass, mis rakendab Set liidest ja seda kasutatakse unikaalsete elementide salvestamiseks kasvavas järjekorras. HashSet on klass, mis rakendab Set liidest ja seda kasutatakse unikaalsete elementide salvestamiseks räsimehhanismi abil. TreeSeti ja HashSeti erinevus seisneb selles, et TreeSet salvestab elemendid kasvavas järjekorras, samas kui HashSet ei salvesta elemente kasvavas järjekorras. Selles artiklis käsitleti TreeSeti ja HashSeti erinevust.

Soovitan: