Skirtumas Tarp „TreeSet“ir „HashSet“

Turinys:

Skirtumas Tarp „TreeSet“ir „HashSet“
Skirtumas Tarp „TreeSet“ir „HashSet“

Video: Skirtumas Tarp „TreeSet“ir „HashSet“

Video: Skirtumas Tarp „TreeSet“ir „HashSet“
Video: Koks skirtumas tarp buhalterio ir finansų analitiko? 2024, Lapkritis
Anonim

Pagrindinis skirtumas - „TreeSet“ir „HashSet“

Dauguma programavimo kalbų palaiko masyvus. Tai duomenų struktūra, naudojama keliems to paties tipo duomenų elementams saugoti. Jei yra masyvas, deklaruotas šešiems elementams, jo negalima naudoti dešimčiai elementų saugoti. Todėl masyvai nėra dinamiški ir negali pakeisti masyvo dydžio, kai jis yra deklaruojamas. Programavimo kalbos, tokios kaip „Java“, palaiko rinkinius, kurie naudojami dinamiškai saugoti duomenis. Kolekcijos palaiko tokias operacijas kaip elementų pridėjimas ir elementų ištrynimas. Kolekcijos hierarchijoje yra daugybė sąsajų ir klasių. Pagrindinė sąsaja yra kolekcijos sąsaja. „Set“yra sąsaja, pratęsianti kolekcijos sąsają. Tai neleidžia dublikuoti. „TreeSet“ir „HashSet“yra dvi klasės kolekcijos hierarchijoje ir abi įgyvendina sąsają „Set“.„TreeSet“yra klasė, įgyvendinanti sąsają „Set“ir naudojama unikaliems elementams kaupti didėjimo tvarka. „HashSet“yra klasė, įgyvendinanti sąsają „Set“ir naudojama unikaliems elementams laikyti naudojant maišos mechanizmą. Pagrindinis skirtumas tarp „TreeSet“ir „HashSet“yra tas, kad „TreeSet“elementus saugo didėjimo tvarka, o „HashSet“elementai nesaugo didėjimo tvarka. Tiek „TreeSet“, tiek „HashSet“saugomi tik unikalūs elementai.

TURINYS

1. Apžvalga ir pagrindiniai skirtumai

2. Kas yra „TreeSet“

3. Kas yra „HashSet“

4. „TreeSet“ir „HashSet“panašumai

5. Šoninis palyginimas - „TreeSet“ir „HashSet“lentelės forma

6. Santrauka

Kas yra medžių rinkinys?

„TreeSet“klasėje įdiegta „NavigableSet“sąsaja. „NavigableSet“sąsaja išplečia „SortedSet“, „Set“, „Collection“ir „Iterable“sąsajas hierarchine tvarka. „TreeSet“visada palaiko didėjimo tvarką. Jei elementai buvo įterpti B, A, C tvarka, jie bus saugomi kaip A, B, C. Tokius metodus, kaip pridėti (), pašalinti (), galima naudoti su objektu „TreeSet“. Pridėjimo metodą galima naudoti elementui pridėti. Pašalinimo metodas naudojamas elementui pašalinti iš kolekcijos. Tai yra keli metodai, kuriuos galima naudoti su „TreeSet“.

Skirtumas tarp „TreeSet“ir „HashSet“
Skirtumas tarp „TreeSet“ir „HashSet“

01 pav. Programa naudojant „TreeSet“

Pagal pirmiau minėtą programą sukuriamas „TreeSet“tipo objektas. Eilutės duomenų elementai prie to objekto pridedami naudojant metodą „Pridėti“. Duomenų įterpimo tvarka yra A, D, A, B, C, D. Naudojant iteratorių, išsaugotos vertės išspausdinamos ekrane. Išvestis yra A, B, C, D. Nors yra dvi A raidės ir dvi D raidės, išvestyje rodoma po vieną A ir viena D. Todėl „TreeSet“saugo unikalius elementus. Nėra konkrečios įterpimo tvarkos, tačiau stebint išvestį galima pastebėti, kad TreeSet palaiko didėjančią elementų tvarką.

Kas yra „HashSet“?

„HashSet“klasė pratęsia „AbstractSet“klasę, kuri įgyvendina „Set Interface“. „Set“sąsaja paveldi „Collection“ir „Iterable“sąsajas hierarchine tvarka. „HashSet“nėra jokios garantijos, kad elementai išlaikys didėjančią ir įterptą tvarką. Jei įterptoji tvarka buvo A, B, C, reikšmės gali būti saugomos kaip C, A, B. Saugojimo tvarka taip pat gali būti A, B, C, tačiau nėra jokios garantijos, kad įterptoji arba didėjimo tvarka bus išlaikyta.

Pagrindinis skirtumas tarp „TreeSet“ir „HashSet“
Pagrindinis skirtumas tarp „TreeSet“ir „HashSet“

02 pav. Programa su „HashSet“

Pagal minėtą programą sukuriamas „HashSet“tipo objektas. Eilutės duomenų elementai prie to objekto pridedami naudojant metodą „Pridėti“. Duomenų įterpimo tvarka yra L, R, M, M, R, L. Naudojant iteratorių, išsaugotos vertės atspausdinamos ekrane. Išvestis yra RL M. Nors iš kiekvienos yra dvi L, R ir M raidės, kiekvienoje rodoma tik viena raidė. Todėl „HashSet“saugo unikalius elementus. Stebint išvestį galima pastebėti, kad nėra didėjančios tvarkos arba išlaikoma įterpta tvarka.

Kokie yra „TreeSet“ir „HashSet“panašumai?

  • Tiek „TreeSet“, tiek „HashSet“yra klasės, priklausančios kolekcijos hierarchijai.
  • Tiek „TreeSet“, tiek „HashSet“saugomi tik unikalūs elementai.
  • Tiek „TreeSet“, tiek „HashSet“gali būti naudojami daugeliui elementų saugoti ir jais naudotis.
  • Tiek „TreeSet“, tiek „HashSet“nepalaiko įterptos tvarkos.

Koks skirtumas tarp „TreeSet“ir „HashSet“?

Skirtingas straipsnis viduryje prieš lentelę

„TreeSet“vs „HashSet“

„TreeSet“yra klasė kolekcijos hierarchijoje, naudojama unikaliems elementams kaupti didėjimo tvarka. „HashSet“yra klasė kolekcijos hierarchijoje, naudojama unikaliems elementams saugoti naudojant maišos mechanizmą.
Elementų saugojimas
„TreeSet“elementus saugo didėjimo tvarka. „HashSet“elementai nesaugomi didėjimo tvarka.

Santrauka - „TreeSet“ir „HashSet“

Programuojant reikia dinamiškai saugoti duomenų elementus. Programavimo kalbos, tokios kaip „Java“, palaiko kolekcijas šiai užduočiai pasiekti. Kolekcijos hierarchijoje yra daugybė sąsajų ir klasių. „TreeSet“ir „HashSet“yra dvi klasės Kolekcijos hierarchijoje. Abu įgyvendina sąsają „Nustatyti“. „TreeSet“yra klasė, įgyvendinanti sąsają „Set“ir naudojama unikaliems elementams kaupti didėjimo tvarka. „HashSet“yra klasė, įgyvendinanti sąsają „Set“ir naudojama unikaliems elementams laikyti naudojant maišos mechanizmą. Skirtumas tarp „TreeSet“ir „HashSet“yra tas, kad „TreeSet“elementus saugo didėjimo tvarka, o „HashSet“elementų - didėjimo tvarka. Šiame straipsnyje aptariamas skirtumas tarp „TreeSet“ir „HashSet“.

Rekomenduojama: