Sett Vs. List i Java

Sett Vs. List i Java


Java samlinger rammeverket gir applikasjoner med evne til å modellere, lagre og behandle data innenfor ulike typer struktur. Ved utvikling av et program, må Java-programmerere bestemme hvilke typer av samlingen til å bruke, skreddersy denne beslutningen til data og behandling av et program det forsøker å administrere. Begge Set og listetyper er vanlige funksjoner i Java utvikling, hver med forskjellige egenskaper som gjør dem egnet til visse sammenhenger.

Java Collections

Java samlinger rammeverket gir mange typer struktur for lagring av programdata. Språket skisserer klasser, grensesnitt og metoder utviklet for vanlige typer data lagring og manipulering, slik at programmerere ikke trenger å gjennomføre sine egne samlinger klasser i de fleste tilfeller. Hvis programmerere bestemmer deg for å lage sine egne klasser, kan de også være i stand til å minimere mengden av foredling som kreves, ved å forlenge eller implementere noen av klassene og grensesnitt som allerede er gitt som en del av samlingene rammeverk.

duplikater

En av de viktigste hensyn for utviklere som velger datastrukturer er om ikke duplikater er påkrevd. Valget mellom settene og lister er ofte delvis bestemt av dette hensynet. Generelt Lister tillate duplikater, mens Stiller ikke. Utviklere involvert i et prosjekt må derfor ta stilling til om de dataene som blir modellert behov for å inneholde duplikater, i så fall en liste kan være det beste alternativet. Dersom logikken til en applikasjon tilsier at ingen duplikater kan tillates, kan et sett være å foretrekke alternativ.

bestilling

Bestilling forskjellig innenfor Set og List samling klasser. Listen klasser kan opprettholde et system for bestilling for de dataene de modellen, mens Stiller ikke håndheve bestilling. Hvis et program krever at data som skal lagres i en spesiell rekkefølge, f.eks dikterer den rekkefølgen i hvilken den må gjennomløpes, deretter en liste kan velges. Hvis dataene i et program samling ikke krever noen form for bestilling, kan et sett brukes.

Grensesnitt

Java definerer begge settene og lister når det gjelder grensesnitt. En Java-grensesnittet er en kontrakt som beskriver egenskapene og metodene observert av klasser velger å gjennomføre det. Java-språket gir mange implementeringer av både Set og List grensesnitt, men programmerere kan eventuelt lage sine egne implementeringer. Listen grensesnitt leveres som standard innen Java inkluderer Arraylist, Linked og AbstractList klasser. Klasser som implementerer Set grensesnittet inkluderer HashSet, TreeSet og EnumSet.

metoder

Sett og List klasser i Java definere noen av de samme metodene. Hvert grensesnitt innenfor rammen implementerer metoder på måter som er spesifikke for samlingen type. Begge grensesnitt omfatter metoder for å legge til og fjerne dataelementer til og fra samlingen, samt metoder for å sjekke om et bestemt element er allerede inneholdt. The List-grensesnittet spesifiserer i tillegg metoder knyttet til indeksering, for eksempel for å gå tilbake indeksene til spesifiserte elementer eller legge på en bestemt indeks.