De fleste programmeringsspråk støtter Arrays. Det er en datastruktur som brukes til å lagre flere elementer av samme datatype. Hvis det er angitt array for seks elementer, kan det ikke brukes til å lagre ti elementer. Derfor er arrayer ikke dynamiske og kan ikke endre størrelsen på arrayet når den er erklært. 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. Grensesnittgrensesnittet er samlingsgrensesnittet. Set er et grensesnitt som utvider samlingsgrensesnittet. Det tillater ikke duplisering. TreeSet og HashSet er to klasser i samlingshierarkiet, og begge implementerer Set-grensesnittet. TreeSet er en klasse som implementerer Set-grensesnittet, og brukes til å lagre unike elementer i stigende rekkefølge. HashSet er en klasse som implementerer Set-grensesnittet, og brukes til å lagre unike elementer ved hjelp av Hashing-mekanismen. De nøkkelforskjell mellom TreeSet og HashSet er det 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.
1. Oversikt og nøkkelforskjell
2. Hva er en TreeSet
3. Hva er en HashSet
4. Likheter mellom TreeSet og HashSet
5. Side ved side-sammenligning - TreeSet vs HashSet i tabellform
6. Sammendrag
TreeSet-klassen implementerer NavigableSet-grensesnittet. NavigableSet-grensesnittet utvider SortedSet, Set, Collection og Iterable-grensesnitt i hierarkisk rekkefølge. TreeSet opprettholder alltid stigende rekkefølge. Hvis elementene ble satt inn i B, A, C-rekkefølge, blir de lagret som A, B, C. Metoder 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. Det er noen metoder som kan brukes med TreeSet.
Figur 01: Program med TreeSet
I henhold til det ovennevnte programmet, opprettes et objekt av typen TreeSet. Strengedataelementene legges til objektet ved hjelp av tilleggsmetoden. Datainnsatte rekkefølge er A, D, A, B, C, D. Ved bruk av iteratoren skrives de lagrede verdiene til skjermen. Utgangen er A, B, C, D. Selv om det er to A-bokstaver og to D-bokstaver, viser utgangen en A og en D hver. Derfor lagrer TreeSet unike elementer. Det er ingen bestemt innføringsordre, men når man observerer utgangen, kan det ses at TreeSet opprettholder den stigende rekkefølgen av elementene.
HashSet-klassen utvider AbstractSet-klassen som implementerer Set Interface. Set-grensesnittet arver Samling og Iterable grensesnitt i hierarkisk rekkefølge. I HashSet er det ingen garanti for at elementene vil opprettholde den stigende rekkefølgen og den innførte ordren. Hvis den innførte bestillingen var A, B, C, kan verdiene lagre som C, A, B. Lagringsordre kan også være A, B, C, men det er ingen garanti for at den innførte ordren eller oppstigende rekkefølge opprettholdes.
Figur 02: Program med HashSet
I henhold til det ovennevnte programmet, opprettes et objekt av typen HashSet. Strengedataelementene legges til objektet ved hjelp av tilleggsmetoden. Datainnsatsen er L, R, M, M, R, L. Ved bruk av iteratoren skrives de lagrede verdiene til skjermen. Utgangen er R L M. Selv om det er to L, R og M bokstaver fra hver, vises bare ett bokstav fra hver. Derfor lagrer HashSet unike elementer. Når du observerer utgangen, kan det ses at det ikke er noen stigende rekkefølge eller den innførte ordren opprettholdes.
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. |
Element lagring | |
TreeSet lagrer elementene i stigende rekkefølge. | HashSet lagrer ikke elementene i stigende rekkefølge. |
I programmering er det nødvendig å 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 brukes til å lagre unike elementer i stigende rekkefølge. HashSet er en klasse som implementerer Set-grensesnittet, og 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.
1. "TreeSet i Java - javatpoint." JavaPoint. Tilgjengelig her
2. "HashSet i Java - javatpoint." JavaPoint . Tilgjengelig her