Denne Java List Tutorial forklarer, hvordan man opretter, initialiserer og udskriver lister i Java. Vejledningen forklarer også listen over lister med komplet kodeeksempel:
denne vejledning introducerer dig til datastrukturen ‘liste’, som er en af de grundlæggende strukturer i Java-Samlingsgrænsefladen.
en liste i Java er en sekvens af elementer i henhold til en ordre. Listen interface af java.,util pakke er den, der implementerer denne sekvens af objekter bestilt i en bestemt måde kaldet liste.
=> Tjek alle Java-Tutorials her.
ligesom arrays kan listeelementerne også fås ved hjælp af indekser med det første indeks, der starter ved 0. Indekset angiver et bestemt element ved indekset ‘ i ‘ dvs. det er i elementer væk fra starten af listen.
Nogle af egenskaberne ved listen i Java inkluderer:
- lister kan have duplikatelementer.
- listen kan også have ‘null’ elementer.,
- lister understøtter generika, dvs. du kan have generiske lister.
- du kan også have blandede objekter (objekter af forskellige klasser) på samme liste.
- lister altid bevare indsættelse rækkefølge og tillade positionelle adgang.
List i Java
Java List interface er en undertype til Java Collection interface. Dette er standardgrænsefladen, der arver Samlingsgrænsefladen til Java.
nedenfor er et klassediagram over Java-Listegrænsefladen.,
Som vist i ovenstående klassediagram, Java liste interface strækker sig fra Indsamling interface i java.util-pakke, som igen strækker sig fra java ‘ s Iterable interface.util pakke. Klassen AbstractList giver skelet implementering af listen interface.
klasserne LinkedList, Stack, Vector, ArrayList og Copyon .ritearraylist er alle implementeringsklasserne for List interface, der ofte bruges af programmerere., Der er således fire typer af lister i Java dvs Stack, LinkedList, ArrayList, og vektor.
derfor, når du skal implementere list Interface, kan du implementere en hvilken som helst af ovenstående listetype klasse afhængigt af kravene. For at inkludere funktionaliteten af listegrænsefladen i dit program skal du importere pakken java.util.,* der indeholder listen interface og andre klasser definitioner som følger:
import java.util.*;
Opret & Erklære Liste
Vi har allerede udtalt, at Listen er et interface, og er gennemført af klasser som ArrayList, Stak, Vektor og LinkedList. Dermed kan du erklære og skabe forekomster af listen i én af følgende måder:
List linkedlist = new LinkedList(); List arrayList = new ArrayList();List vec_list = new Vector(); List stck_list = new Stack();
Som det er vist ovenfor, kan du oprette en liste med nogen af de ovennævnte klasser, og derefter initialisere disse lister med værdier., Fra ovenstående udsagn kan du konstatere, at rækkefølgen af elementer ændres afhængigt af den klasse, der bruges til at oprette en forekomst af listen.
for eksempel, for en liste med stack klasse, ordren er sidst i, først ud (LIFO).
Initialiser Java List
Du kan gøre brug af en af nedenstående metoder til at initialisere et listeobjekt.
#1) ved hjælp af asList-metoden
er metoden asList () allerede dækket detaljeret i Arrays-emnet. Du kan oprette en uforanderlig liste ved hjælp af arrayværdierne.,
den generelle syntaks er:
List<data_type> listname = Arrays.asList(array_name);
Her skal data_typen svare til arrayets.
ovenstående erklæring opretter en uforanderlig liste. Hvis du ønsker, at listen skal kunne ændres, skal du oprette en forekomst af listen ved hjælp af ny og derefter tildele arrayelementerne til den ved hjælp af asList-metoden.
Dette er som vist nedenfor:
List<data_type> listname = new ArrayList<> (Arrays.asList(array_name));
lad os implementere et program i Java, der viser oprettelsen og initialiseringen af listen ved hjælp af asList-metoden.,
Output:
i ovenstående program har vi først oprettet den uforanderlige liste ved hjælp af asList-metoden. Derefter opretter vi en mutabel liste ved at oprette en forekomst af ArrayList og derefter initialisere denne ArrayList med værdier fra arrayet ved hjælp af asList-metoden.
Bemærk, at da den anden liste kan ændres, kan vi også tilføje flere værdier til den.
#2) ved hjælp af listen.Tilføj ()
som allerede nævnt, da listen kun er en grænseflade, kan den ikke instantieres. Men vi kan instantiere klasser, der implementerer denne grænseflade., Derfor at initialisere listen klasser, kan du bruge deres respektive add metoder, som er en liste interface metode, men implementeret af hver af klasserne.
Hvis du instantiere en kædet liste klasse som nedenfor:
List<Integer> llist = new LinkedList<Integer> ();
Så, at tilføje et element til en liste, du kan bruge tilføj metode som følger:
llist.add(3);
Der er også en teknik, der kaldes “Dobbelt tandbøjle initialisering”, hvor listen er instantieret og initialiseres ved at kalde metoden tilføj i den samme sætning.,
dette gøres som vist nedenfor:
List<Integer> llist = new LinkedList<Integer> (){{ add(1); add(3);}};
ovenstående erklæring tilføjer elementerne 1 og 3 til listen.
følgende program viser initialiseringerne af listen ved hjælp af add-metoden. Det bruger også dobbeltbøjle initialisering teknik.
Output:
dette program har tre forskellige listerklæringer, dvs.ArrayList, LinkedList og Stack.
ArrayList og LinkedList objekter instantieres og derefter tilføje metoder kaldes for at tilføje elementer til disse objekter., Til stack anvendes dobbeltbøjleinitialisering, hvor add-metoden kaldes under selve instantieringen.
#3) Brug af Collections Class Methods
Java collections-klassen har forskellige metoder, der kan bruges til at initialisere listen.
Nogle af de metoder, der er:
- addAll
Den generelle syntaks for samlinger addAll metode er:
List<dataType> listname = Collections.EMPTY_LIST;Collections.addAll(listname = new ArrayList<datatype>(), values…);
Her kan du tilføje værdier til en tom liste. AddAll-metoden tager listen som den første parameter efterfulgt af de værdier, der skal indsættes i listen.,
- unmodifiableList()
metoden ‘unmodifiableList()’ returnerer en uforanderlig liste, hvortil elementerne ikke kan tilføjes eller slettes.
den generelle syntaks for denne metode er som følger:
List<datatype> listname = Collections.unmodifiableList(Arrays.asList(values…));
metoden tager listeværdier som parametre og returnerer en liste. Hvis du overhovedet prøver at tilføje eller slette et element fra denne liste, kaster kompilatoren en undtagelse, der ikke er understøttet Operatione .ception.
- singletonList()
metoden ‘singletonList’ returnerer en liste med et enkelt element i den. Listen er uforanderlig.,
Den generelle syntaks for denne metode er:
List<datatype> listname = Collections.singletonList(value);
følgende Java-program viser alle de tre metoder i Collections klassen diskuteret ovenfor.
Output:
#4) ved hjælp af Java8-Streams
Med introduktionen af streams i Java 8 kan du også konstruere en strøm af data og indsamle dem på en liste.
følgende program viser oprettelsen af en liste ved hjælp af stream.
Output:
ovenstående program samler strømmen af streng i en liste og returnerer den., Du kan også bruge de andre Samlermetoder som ‘toCollection’,’ unmodifiableList ‘ osv. bortset fra asList i collect-funktionen.
#5) Java 9 liste.af () metode
en ny metode introduceres i Java 9, liste.af () som tager et vilkårligt antal elementer og konstruerer en liste. Listen Konstrueret er uforanderlig.
Output:
Listeeksempel
nedenfor er et komplet eksempel på at bruge en listegrænseflade og dens forskellige metoder.Output:
ovenstående programoutput viser de forskellige operationer, der udføres på en ArrayList. For det første opretter og initialiserer listen., Derefter kopierer det indholdet af en anden liste til denne liste og fjerner også et element fra listen. Endelig erstatter det det sidste element på listen med en anden værdi.
Vi vil undersøge listen metoder i detaljer i vores næste tutorial.
Udskrivningsliste
Der er forskellige metoder, hvor du kan udskrive elementerne på listen i Java.
lad os diskutere nogle af metoderne her.
#1) Brug For Loop/Enhanced For Loop
listen er en ordnet samling, der kan fås ved hjælp af indekser., Du kan bruge til loop, der bruges til at gentage ved hjælp af indekserne til at udskrive hvert element på listen.Java har en anden version af For loop kender som forbedret for loop, der også kan bruges til at få adgang til og udskrive hvert element på listen.Java-programmet vist nedenfor viser udskrivning af listeindholdet ved hjælp af For loop og forbedret for loop.
Output:
#2) ved hjælp af tostringmetoden
metoden ‘toString()’ i listegrænsefladen returnerer strengrepræsentationen af listen.
programmet nedenfor viser brugen af toString () – metoden.,
Output:
liste konverteret til et Array
listen har en metode toArray (), der konverterer listen til et array. Når du er konverteret til et array, kan du bruge array-metoderne, der er diskuteret i det respektive emne, til at udskrive indholdet af dette array. Du kan enten bruge til eller forbedret for loop eller endda toString metode.
eksemplet nedenfor bruger toString-metoden til at udskrive arrayindholdet.
Output:
brug af Java 8 Streams
Streams introduceres i Java 8. Du kan gøre brug af vandløb til at gennemløbe listen., Der er også lambdas, som du kan gentage gennem listen.
programmet nedenfor viser brugen af streams til at gentage gennem listen og vise dens indhold.
Output:
bortset fra de ovenfor beskrevne metoder kan du bruge list iterators til at gentage gennem listen og vise dens indhold. Vi vil have en komplet artikel på listen iterator i de efterfølgende tutorials.
liste over lister
Java list interface understøtter ‘list of lists’. I dette er de enkelte elementer i listen igen en liste. Det betyder, at du kan have en liste inde i en anden liste.,
dette koncept er meget nyttigt, når du skal læse data fra sige CSV-filer. Her skal du muligvis læse flere lister eller lister inde i lister og derefter gemme dem i hukommelsen. Igen skal du behandle disse data og skrive tilbage til filen. I sådanne situationer kan du således opretholde en liste over lister for at forenkle databehandlingen.
følgende Java-program viser et eksempel på en Java-liste over lister.
i dette program har vi en liste over lister over typestreng. Vi opretter to separate lister over typestrengen og tildeler værdier til disse lister., Begge disse lister føjes til listen over lister ved hjælp af add-metoden.
for at vise indholdet af listen over lister bruger vi to sløjfer. Den ydre sløjfe (foreach) gentager sig gennem listerne over lister, der får adgang til listerne. Den indvendige foreach loop får adgang til de enkelte strengelementer i hver af disse lister.
Output:
Java liste over lister er et lille koncept, men er vigtigt, især når du skal læse komplekse data i dit program.
Ofte Stillede Spørgsmål
Q #1) Hvad er en liste og sat i Java?
svar: en liste er en ordnet samling af elementer., Du kan have dublerede elementer på listen.
et sæt er ikke en bestilt samling. Elementer i sættet er ikke arrangeret i nogen bestemt rækkefølge. Elementerne i sættet skal også være unikke. Det tillader ikke dubletter.
Q #2) Hvordan fungerer en liste i Java?
svar: listen er en grænseflade i Java, der strækker sig fra Samlingsgrænsefladen. Klasserne ArrayList, LinkedList, Stack, og Vector gennemføre listen interface. Således kan en programmør bruge disse klasser til at bruge funktionaliteten af listen interface.
Q #3) Hvad er en ArrayList i Java?,
svar: ArrayList er et dynamisk array. Det er en resi .able samling af elementer og implementerer listen interface. ArrayList internt gør brug af et array til at gemme elementerne.
Q #4) starter lister ved 0 eller 1 i Java?
svar: lister i Java har et nulbaseret heltalsindeks. Det betyder, at det første element i listen er på indeks 0, det andet element på indeks 1 og så videre.
Q #5) er listen bestilt?
svar: Ja. Listen er en ordnet samling af elementer., Denne ordre bevares, under indsættelsen af et nyt element i listen,
konklusion
denne vejledning gav en introduktion til listegrænsefladen i Java. Vi diskuterede også de vigtigste begreber i lister som oprettelse, initialisering af lister, udskrivning af lister osv.
i vores kommende tutorials vil vi diskutere de forskellige metoder, der leveres af listegrænsefladen. Vi vil også diskutere iteratorkonstruktionen, der bruges til at gentage listeobjektet. Vi vil diskutere konvertering af listeobjekter til andre datastrukturer i vores kommende tutorial.,
=> besøg her for at se Java-Træningsserien for alle.
Skriv et svar