Forskjellen mellom liste og sett

Nøkkelforskjell - Liste vs Sett
 

De fleste programmeringsspråk bruker arrays til å lagre et sett med data av samme type. En stor ulempe ved arrays er at når størrelsen er oppgitt, kan den ikke endres. Hvis programmøren ønsker å lagre en verdi som overskrider størrelsen på arrayet, bør han opprette en ny serie og kopiere eksisterende elementer til den nye gruppen. I slike situasjoner kan samlinger brukes. Det er mulig å legge til elementer, slette elementer og mange andre operasjoner med støtte fra samlinger. Det finnes ulike typer samlinger tilgjengelig i programmeringsspråk som Java. Liste og sett er grensesnitt for samlinger hierarki. Grensesnittgrensesnittet for andre grensesnitt er samling. De nøkkelforskjell mellom list og sett er det Liste støtter lagring av det samme elementet flere ganger mens Set ikke støtter lagring av det samme elementet flere ganger. Derfor tillater et sett ikke duplisering.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er Liste
3. Hva er Set
4. Likheter mellom liste og sett
5. Side ved side-sammenligning - Liste vs Sett i tabellform
6. Sammendrag

Hva er Liste?

Listen er et grensesnitt som utvider samlingsgrensesnittet. Det finnes en rekke metoder i samlingsgrensesnittet. Add-metoden bidrar til å legge til et element. 'Fjernmetoden' er å fjerne et element. Det er 'addAll metode' for å legge til flere elementer mens 'removeAll metode' for å fjerne elementene fra samlingen. Innholdmetoden bidrar til å finne ut om et bestemt objekt er til stede i listen eller ikke. 'Containsall' er å finne ut om et sett med objekter er til stede i samlingen. Iteratormetoden brukes til å løpe gjennom elementene i listen. Som liste utvider samlingen tilhører alle samlingsmetodene List. Annet enn disse metodene, har listen metoder som få og sett. Programmereren kan få en verdi på en bestemt indeks ved hjelp av få metode. Programmereren kan sette en verdi på en bestemt indeks ved hjelp av settmetoden. 'IndexOf' brukes til å finne indeksen til et element.

I en liste kan operasjonene utføres i henhold til stillingen. Programmereren kan gi dataelementet som skal legges til indeksen. Så det vil bli lagt til den spesifikke indeksen. Hvis programmereren ikke gir en indeks, vil elementet bli lagt til slutten av listen. Den opprettholder også den innførte ordren. Hvis element 1 legges til og deretter element2 blir lagt til, vil element1 være før element2.

Figur 01: Liste og sett

ArrayList, LinkedList, Vector er noen klasser som implementerer List. I en ArrayList er tilgang til et element raskt, men det er lavere å sette inn og slette. ArrayList er ikke trådssikker. Å få tilgang til samme ArrayList fra flere tråder kan ikke gi det samme resultatet. I en tilknyttet liste er elementene knyttet til både bakover og fremover. Sette inn og slette elementer ved hjelp av en LinkedList er raskere enn ArrayList. LinkedList implementerer liste og kø begge. Vector ligner ArrayList, men det er slitebeskyttelse fordi alle metodene er synkroniserte.

Hva er Set?

Set er et grensesnitt som utvider samlingsgrensesnittet. Som Set-grensesnittet utvider samlingen, tilhører alle metoder for samling også Set. Et sett støtter ikke dupliseringsverdier. Derfor kan programmøren ikke lagre det samme elementet to ganger. Den opprettholder et unikt sett med elementer. SortedSet-grensesnittet utvider Sett grensesnitt. SortedSet opprettholder elementene i sortert rekkefølge. NavigableSet-grensesnittet utvider SortedSet. NavigableSet gir navigasjonsmetoder som lavere, gulv, tak osv.

HashSet, LinkedHashSet og TreeSet er noen klasser som implementerer Set-grensesnittet. De HashSet redskaper Sett grensesnitt. Den opprettholder ikke den innførte bestillingen. Hvis verdiene er satt inn som a, x, b kan det lagre som, x, a, b. De LinkedSet opprettholder den innførte bestillingen. Hvis elementene er satt inn i en, x, b rekkefølge, vil lagringsordren være a, x, b. De TreeSet implementerer Set og NavigableSet. Den opprettholder ikke innføringsordren, men lagrer elementene i den sorterte rekkefølgen. Hvis den innsatte rekkefølgen er a, c, b, blir elementene lagret som a, b, c. Alle HashSet, LinkedHashSet og TreeSet vil ikke ha noen dupliserte elementer.

Hva er likhetene mellom liste og sett?

  • Både Liste og Sett grensesnitt utvide samling grensesnitt.
  • Både List og Set support operasjoner som å legge til, fjerne elementer.

Hva er forskjellen mellom liste og sett?

Liste vs Set

List Interface er undergrensesnittet til samling som inneholder metoder for å utføre operasjoner som innsetting, sletting basert på indeksen. Sett grensesnitt er et undergrensesnitt for samling som inneholder metoder for å utføre operasjoner som innsetting, slette elementer mens de unike elementene opprettholdes.
 klasser
ArrayList, Vector og LinkedList er klasser som implementerer Liste grensesnitt. HashSet, LinkedHashSet og TreeSet er klasser som implementerer Set grensesnitt.
Element Duplication
Liste støtter duplisering av elementer. Set støtter ikke duplisering av elementer. Elementene er unike.

Sammendrag - Liste vs Sett

Samlinger brukes til å lagre elementer dynamisk. Programmeringsspråk som Java gir samlingsgrensesnitt. Liste og sett er to grensesnitt som tilhører samlingsgrensesnittet. Begge grensesnittene utvider samlingen. Denne artikkelen diskuterte forskjellen mellom liste og sett. Hovedforskjellen mellom List og Set er at listen støtter lagring av det samme elementet flere ganger mens Set ikke støtter lagring av det samme elementet flere ganger. Set alltid opprettholder unike elementer.

Henvisning:

1.Point, opplæringsprogrammer. "Java samlinger.", Tutorials Point, 8. januar 2018. Tilgjengelig her