Forskjellen mellom TreeSet og HashSet

Innholdsfortegnelse:

Forskjellen mellom TreeSet og HashSet
Forskjellen mellom TreeSet og HashSet

Video: Forskjellen mellom TreeSet og HashSet

Video: Forskjellen mellom TreeSet og HashSet
Video: Разница между HashMap и TreeMap Java собеседование 2024, Juli
Anonim

Nøkkelforskjell – TreeSet vs HashSet

De fleste programmeringsspråk støtter Arrays. Det er en datastruktur som brukes til å lagre flere elementer av samme datatype. Hvis det er deklarert matrise for seks elementer, kan den ikke brukes til å lagre ti elementer. Derfor er matriser ikke dynamiske og kan ikke endre størrelsen på matrisen når den først er deklarert. Programmeringsspråk som Java støtter samlinger som brukes til å lagre data dynamisk. Samlinger støtter operasjoner som å legge til elementer og slette elementer. Det er en rekke grensesnitt og klasser i samlingshierarkiet. Grunngrensesnittet er samlingsgrensesnittet. Set er et grensesnitt som utvider samlingsgrensesnittet. Det tillater ikke duplisering. TreeSet og HashSet er to klasser i samlingshierarkiet og implementerer begge Set-grensesnittet. TreeSet er en klasse som implementerer Set-grensesnittet og den brukes til å lagre unike elementer i stigende rekkefølge. HashSet er en klasse som implementerer Set-grensesnittet og den brukes til å lagre unike elementer ved hjelp av Hashing-mekanismen. Den viktigste forskjellen mellom TreeSet og HashSet er at TreeSet lagrer elementene i stigende rekkefølge, mens HashSet ikke lagrer elementene i stigende rekkefølge. Både TreeSet og HashSet lagrer bare unike elementer.

Hva er et tresett?

TreeSet-klassen implementerer NavigableSet-grensesnitt. NavigableSet-grensesnittet utvider grensesnittene SortedSet, Set, Collection og Iterable i hierarkisk rekkefølge. TreeSet opprettholder alltid den stigende rekkefølgen. Hvis elementene ble satt inn i B, A, C rekkefølge, vil de bli lagret som A, B, C. Metodene som add (), remove () kan brukes med TreeSet objekt. Add-metoden kan brukes til å legge til et element. Fjernmetoden brukes til å fjerne et element fra samlingen. Dette er noen metoder som kan brukes med TreeSet.

Forskjellen mellom TreeSet og HashSet
Forskjellen mellom TreeSet og HashSet

Figur 01: Program med TreeSet

I henhold til programmet ovenfor opprettes et objekt av typen TreeSet. Strengdataelementene legges til det objektet ved å bruke add-metoden. Dataene som settes inn er A, D, A, B, C, D. Ved hjelp av iteratoren skrives de lagrede verdiene ut på skjermen. Utgangen er A, B, C, D. Selv om det er to A-bokstaver og to D-bokstaver, viser utgangen den ene A og en D hver. Derfor lagrer TreeSet unike elementer. Det er ingen spesiell innsettingsrekkefølge, men når du observerer utdataene, kan det ses at TreeSet opprettholder den stigende rekkefølgen til elementene.

Hva er et HashSet?

HashSet-klassen utvider AbstractSet-klassen som implementerer Set Interface. Set-grensesnittet arver innsamlings- og iterable-grensesnitt i hierarkisk rekkefølge. I HashSet er det ingen garanti for at elementene vil opprettholde den stigende rekkefølgen og den innsatte rekkefølgen. Hvis den innsatte rekkefølgen var A, B, C, kan verdiene lagres som C, A, B. Lagringsrekkefølge kan også være A, B, C, men det er ingen garanti for at den innsatte rekkefølgen eller stigende rekkefølgen opprettholdes.

Nøkkelforskjellen mellom TreeSet og HashSet
Nøkkelforskjellen mellom TreeSet og HashSet

Figur 02: Program med HashSet

I henhold til programmet ovenfor opprettes et objekt av typen HashSet. Strengdataelementene legges til det objektet ved å bruke add-metoden. Dataene som legges inn er L, R, M, M, R, L. Ved hjelp av iteratoren skrives de lagrede verdiene ut på skjermen. Utgangen er R L M. Selv om det er to L-, R- og M-bokstaver fra hver, vises bare én bokstav fra hver. Derfor lagrer HashSet unike elementer. Når du observerer utdata, kan det ses at det ikke er noen stigende rekkefølge eller at den innsatte rekkefølgen opprettholdes.

Hva er likhetene mellom TreeSet og HashSet?

  • Både TreeSet og HashSet er klasser som tilhører samlingshierarkiet.
  • Både TreeSet og HashSet lagrer bare unike elementer.
  • Både TreeSet og HashSet kan brukes til å lagre og manipulere mange elementer.
  • Både TreeSet og HashSet opprettholder ikke den innsatte rekkefølgen.

Hva er forskjellen mellom TreeSet og HashSet?

TreeSet vs HashSet

TreeSet er en klasse i samlingshierarkiet som brukes til å lagre unike elementer i stigende rekkefølge. HashSet er en klasse i samlingshierarkiet som brukes til å lagre unike elementer ved hjelp av Hashing-mekanismen.
Elementlagring
TreeSet lagrer elementene i stigende rekkefølge. HashSet lagrer ikke elementene i stigende rekkefølge.

Summary – TreeSet vs HashSet

I programmering kreves det å lagre dataelementer dynamisk. Programmeringsspråk som Java støtter samlinger for å oppnå denne oppgaven. Det er en rekke grensesnitt og klasser i samlingshierarkiet. TreeSet og HashSet er to klasser i samlingshierarkiet. Begge implementerer Set-grensesnittet. TreeSet er en klasse som implementerer Set-grensesnittet og den brukes til å lagre unike elementer i stigende rekkefølge. HashSet er en klasse som implementerer Set-grensesnittet og den brukes til å lagre unike elementer ved hjelp av Hashing-mekanismen. Forskjellen mellom TreeSet og HashSet er at TreeSet lagrer elementene i stigende rekkefølge, mens HashSet ikke lagrer elementene i stigende rekkefølge. Denne artikkelen diskuterte forskjellen mellom TreeSet og HashSet.

Anbefalt: