java list how create
Denne veiledningen for Java-listen forklarer hvordan du oppretter, initialiserer og skriver ut lister i Java. Opplæringen forklarer også Liste over lister med komplett kodeeksempel:
Denne opplæringen vil introdusere deg for datastrukturen 'listen' som er en av de grunnleggende strukturene i Java Collection Interface.
En liste i Java er en sekvens av elementer i henhold til en rekkefølge. List-grensesnittet til java.util-pakken er det som implementerer denne sekvensen av objekter som er bestilt på en bestemt måte, kalt List.
=> Sjekk ALLE Java-opplæringsprogrammer her.
Akkurat som matriser, kan du også få tilgang til listeelementene ved hjelp av indekser med den første indeksen som starter på 0. Indeksen indikerer et bestemt element ved indeksen ‘i’, dvs. det er i-elementene fra begynnelsen av listen.
Noen av egenskapene til listen i Java inkluderer:
- Lister kan ha dupliserte elementer.
- Listen kan også ha ‘null’ elementer.
- Lister støtter generiske stoffer, dvs. du kan ha generiske lister.
- Du kan også ha blandede objekter (objekter av forskjellige klasser) i samme liste.
- Lister bevarer alltid innsettingsrekkefølgen og tillater posisjonell tilgang.
Hva du vil lære:
- Liste i Java
- Konklusjon
Liste i Java
Java List-grensesnittet er en undertype av Java Collection-grensesnittet. Dette er standardgrensesnittet som arver Java-samlingsgrensesnittet.
Nedenfor er et klassediagram over Java List-grensesnittet.

Som vist i klassediagrammet ovenfor, strekker Java-listegrensesnittet seg fra Collection-grensesnittet til java.util-pakken, som igjen strekker seg fra det Iterable-grensesnittet til java.util-pakken. Klassen AbstractList gir skjelettimplementering av List-grensesnittet.
Klassene LinkedList, Stack, Vector, ArrayList og CopyOnWriteArrayList er alle implementeringsklassene i List-grensesnitt som ofte brukes av programmerere. Dermed er det fire typer lister i Java, dvs. Stack, LinkedList, ArrayList og Vector.
Derfor, når du må implementere listegrensesnitt, kan du implementere hvilken som helst av ovennevnte listetypeklasser, avhengig av kravene. For å inkludere funksjonaliteten til listegrensesnittet i programmet ditt, må du importer pakken java.util. * som inneholder listegrensesnitt og andre klassedefinisjoner som følger:
import java.util.*;
Opprett og erklær liste
Vi har allerede uttalt at List er et grensesnitt og implementeres av klasser som ArrayList, Stack, Vector og LinkedList. Derfor kan du erklære og opprette forekomster av listen på en av følgende måter:
List linkedlist = new LinkedList(); List arrayList = new ArrayList(); List vec_list = new Vector(); List stck_list = new Stack();
Som vist ovenfor kan du opprette en liste med noen av klassene ovenfor og deretter initialisere disse listene med verdier. Fra utsagnene ovenfor kan du se at rekkefølgen på elementene vil endres avhengig av klassen som brukes til å lage en forekomst av listen.
For eksempel, for en liste med stakklasse er bestillingen Last In, First Out (LIFO).
Initialiser Java-listen
Du kan bruke en av metodene nedenfor for å initialisere et listeobjekt.
# 1) Bruke asList-metoden
Metoden asList () er allerede dekket i detalj i Arrays-emnet. Du kan lage en uforanderlig liste ved hjelp av matriseverdiene.
Den generelle syntaksen er:
List listname = Arrays.asList(array_name);
Her skal data_typen samsvare med matrisen.
Ovennevnte uttalelse skaper en uforanderlig liste. Hvis du vil at listen skal kunne endres, må du opprette en forekomst av listen ved hjelp av ny og deretter tilordne matriseelementene til den ved hjelp av asList-metoden.
Dette er som vist nedenfor:
List listname = new ArrayList (Arrays.asList(array_name));
La oss implementere et program i Java som viser opprettelse og initialisering av listen ved hjelp av asList-metoden .
oops konsepter i c # med eksempler
import java.util.*; public class Main { public static void main(String[] args) { //array of strings String[] strArray = {'Delhi', 'Mumbai', 'Kolkata', 'Chennai'}; //initialize an immutable list from array using asList method List mylist = Arrays.asList(strArray); //print the list System.out.println('Immutable list:'); for(String val : mylist){ System.out.print(val + ' '); } System.out.println('
'); //initialize a mutable list(arraylist) from array using asList method List arrayList = new ArrayList(Arrays.asList(strArray)); System.out.println('Mutable list:'); //add one more element to list arrayList.add('Pune'); //print the arraylist for(String val : arrayList){ System.out.print(val + ' '); } }
Produksjon:
I programmet ovenfor har vi opprettet den uforanderlige listen først ved hjelp av asList-metoden. Deretter oppretter vi en foranderlig liste ved å opprette en forekomst av ArrayList og deretter initialisere denne ArrayList med verdier fra matrisen ved hjelp av asList-metoden.
Vær oppmerksom på at siden den andre listen kan endres, kan vi også legge til flere verdier i den.
# 2) Bruke List.add ()
Som allerede nevnt, da listen bare er et grensesnitt, kan den ikke instantieres. Men vi kan sette i gang klasser som implementerer dette grensesnittet. Derfor, for å initialisere listeklassene, kan du bruke deres respektive legg til metoder som er en listegrensesnittmetode, men implementert av hver av klassene.
Hvis du instansere en lenket listeklasse som nedenfor:
List llist = new LinkedList ();
Deretter, for å legge til et element i en liste, kan du bruke tilleggsmetoden som følger:
llist.add(3);
Det er også en teknikk som kalles 'Double brace initialization' der listen blir instansert og initialisert ved å kalle add-metoden i samme uttalelse.
Dette gjøres som vist nedenfor:
List llist = new LinkedList (){{ add(1); add(3);}};
Ovennevnte uttalelse legger elementene 1 og 3 til listen.
Følgende program viser initialiseringer av listen ved hjelp av add-metoden . Den bruker også initialiseringsteknikken med dobbel stag.
import java.util.*; public class Main { public static void main(String args[]) { // ArrayList.add method List str_list = new ArrayList(); str_list.add('Java'); str_list.add('C++'); System.out.println('ArrayList : ' + str_list.toString()); // LinkedList.add method List even_list = new LinkedList(); even_list.add(2); even_list.add(4); System.out.println('LinkedList : ' + even_list.toString()); // double brace initialization - use add with declaration & initialization List num_stack = new Stack(){{ add(10);add(20); }}; System.out.println('Stack : ' + num_stack.toString()); } }
Produksjon:
Dette programmet har tre forskjellige listedeklarasjoner, dvs. ArrayList, LinkedList og Stack.
ArrayList- og LinkedList-objekter blir instantiert, og deretter kalles add-metodene for å legge til elementer i disse objektene. For stabel brukes initialisering med dobbel avstivning der add-metoden kalles under selve instantiseringen.
# 3) Bruke samlinger klassemetoder
Samlingsklassen til Java har forskjellige metoder som kan brukes til å initialisere listen.
Noen av metodene er:
- Legg til alle
De generell syntaks for samlinger addAll metode er:
List listname = Collections.EMPTY_LIST; Collections.addAll(listname = new ArrayList(), values…);
Her legger du til verdier i en tom liste. AddAll-metoden tar listen som den første parameteren etterfulgt av verdiene som skal settes inn i listen.
- unmodifiableList ()
Metoden ‘unmodifiableList ()’ returnerer en uforanderlig liste som elementene ikke kan legges til eller slettes til.
Den generelle syntaksen for denne metoden er som følger:
List listname = Collections.unmodifiableList(Arrays.asList(values…));
Metoden tar listeverdier som parametere og returnerer en liste. Hvis du i det hele tatt prøver å legge til eller slette et element fra denne listen, kaster kompilatoren et unntak Ikke-støttetOperationException.
- singletonList ()
Metoden ‘singletonList’ returnerer en liste med et enkelt element i den. Listen er uforanderlig.
Den generelle syntaksen for denne metoden er:
List listname = Collections.singletonList(value);
Følgende Java-program demonstrerer alle de tre metodene i samlingsklassen diskutert ovenfor.
import java.util.*; public class Main { public static void main(String args[]) { // empty list List list = new ArrayList(); // Instantiating list using Collections.addAll() Collections.addAll(list, 10, 20, 30, 40); // Print the list System.out.println('List with addAll() : ' + list.toString()); // Create& initialize the list using unmodifiableList method List intlist = Collections.unmodifiableList( Arrays.asList(1,3,5,7)); // Print the list System.out.println('List with unmodifiableList(): ' + intlist.toString()); // Create& initialize the list using singletonList method List strlist = Collections.singletonList('Java'); // Print the list System.out.println('List with singletonList(): ' + strlist.toString()); } }
Produksjon:
# 4) Bruke Java8 Streams
Med introduksjonen av strømmer i Java 8 kan du også konstruere en datastrøm og samle dem i en liste.
Følgende programmet viser opprettelsen av en liste ved hjelp av stream.
import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main { public static void main(String args[]) { // Creating a List using toList Collectors method List list1 = Stream.of('January', 'February', 'March', 'April', 'May') .collect(Collectors.toList()); // Print the list System.out.println('List from Java 8 stream: ' + list1.toString()); } }
Produksjon:
Ovennevnte program samler strømmen av streng i en liste og returnerer den. Du kan også bruke de andre Collectors-metodene som 'toCollection', 'unmodifiableList' osv. Bortsett fra asList i collect-funksjonen.
# 5) Java 9 List.of () Metode
En ny metode introduseres i Java 9, List.of () som tar et hvilket som helst antall elementer og konstruerer en liste. Den konstruerte listen er uforanderlig.
import java.util.List; public class Main { public static void main(String args[]) { // Create a list using List.of() List strList = List.of('Delhi', 'Mumbai', 'Kolkata'); // Print the List System.out.println('List using Java 9 List.of() : ' + strList.toString()); } }
Produksjon:
Listeeksempel
Nedenfor er et komplett eksempel på bruk av et listegrensesnitt og dets forskjellige metoder.
import java.util.*; public class Main { public static void main(String[] args) { // Creating a list List intList = new ArrayList(); //add two values to the list intList.add(0, 10); intList.add(1, 20); System.out.println('The initial List:
' + intList); // Creating another list List cp_list = new ArrayList(); cp_list.add(30); cp_list.add(40); cp_list.add(50); // add list cp_list to intList from index 2 intList.addAll(2, cp_list); System.out.println('List after adding another list at index 2:
'+ intList); // Removes element from index 0 intList.remove(0); System.out.println('List after removing element at index 0:
' + intList); // Replace value of last element intList.set(3, 60); System.out.println('List after replacing the value of last element:
' + intList); } }
Produksjon:
Ovennevnte programutgang viser de forskjellige operasjonene som er utført på en ArrayList. Først oppretter og initialiserer den listen. Deretter kopieres innholdet i en annen liste til denne listen og fjerner også et element fra listen. Til slutt erstatter den det siste elementet i listen med en annen verdi.
Vi vil utforske listemetodene i detalj i vår neste opplæring.
Utskriftsliste
Det er forskjellige metoder som du kan skrive ut elementene i listen i Java.
La oss diskutere noen av metodene her.
# 1) Bruk av For Loop / Enhanced For Loop
Listen er en bestilt samling som er tilgjengelig med indekser. Du kan bruke for loop som brukes til å gjenta ved hjelp av indeksene for å skrive ut hvert element i listen.
Java har en annen versjon av for loop kjent som forbedret for loop som også kan brukes til å få tilgang til og skrive ut hvert element i listen.
Java-programmet vist nedenfor demonstrerer utskrift av listeinnhold ved hjelp av for loop og forbedret for loop.
import java.util.List; import java.util.ArrayList; import java.util.Arrays; class Main{ public static void main (String[] args) { //string list List list = Arrays.asList('Java', 'Python', 'C++', 'C', 'Ruby'); //print list using for loop System.out.println('List contents using for loop:'); for (int i = 0; i Produksjon:

# 2) Bruk av toString-metoden
Metoden 'toString ()' i listegrensesnittet returnerer strengrepresentasjonen til listen.
Programmet nedenfor demonstrerer bruken av toString () -metoden.
import java.util.List; import java.util.ArrayList; class Main{ public static void main (String[] args){ //initialize a string list List list = new ArrayList(){{add('Python');add('C++');add('Java');}}; // string representation of list using toString method System.out.println('List contents using toString() method:' + list.toString()); } }
Produksjon:

Liste konvertert til en serie
Listen har en metode toArray () som konverterer listen til en matrise. Når du er konvertert til en matrise, kan du bruke matrismetodene som er diskutert i det respektive emnet for å skrive ut innholdet i denne matrisen. Du kan enten bruke for eller forbedret for loop eller til og med toString-metoden.
Eksemplet nedenfor bruker toString-metoden for å skrive ut matriseinnholdet.
import java.util.*; class Main { public static void main (String[] args) { //list of odd numbers List oddlist = Arrays.asList(1,3,5,7,9,11); // using List.toArray() method System.out.println('Contents of list converted to Array:'); System.out.println(Arrays.toString(oddlist.toArray())); } }
Produksjon:
hvordan du spiller en torrentfil

Bruke Java 8 Streams
Strømmer introduseres i Java 8. Du kan bruke strømmer til å gå gjennom listen. Det er også lambdas som du kan gjenta gjennom listen.
Programmet nedenfor viser bruken av strømmer for å gjentas gjennom listen og vise innholdet.
import java.util.*; class Main{ public static void main (String[] args){ //list of even numbers List evenlist = Arrays.asList(2,4,6,8,10,12,14); // print list using streams System.out.println('Contents of evenlist using streams:'); evenlist.stream().forEach(S ->System.out.print(S + ' ')); } }
Produksjon:

Bortsett fra metodene som er diskutert ovenfor, kan du bruke listeiteratorer til å gjenta gjennom listen og vise innholdet. Vi vil ha en komplett artikkel om listen iterator i de påfølgende tutorials.
Liste over lister
Java-listegrensesnitt støtter 'listen over lister'. I dette er de enkelte elementene i listen igjen en liste. Dette betyr at du kan ha en liste i en annen liste.
Dette konseptet er veldig nyttig når du må lese data fra for eksempel CSV-filer. Her må du kanskje lese flere lister eller lister i lister og deretter lagre dem i minnet. Igjen må du behandle disse dataene og skrive tilbake til filen. Dermed kan du i slike situasjoner føre en liste over lister for å forenkle databehandlingen.
Følgende Java-program viser et eksempel på en Java-liste over lister.
I dette programmet har vi en liste over lister av typen String. Vi lager to separate lister med typestreng og tilordner verdier til disse listene. Begge disse listene blir lagt til i listen over lister ved å bruke metoden.
For å vise innholdet i listen over lister bruker vi to sløyfer. Den ytre sløyfen (forenden) går gjennom listene over lister som har tilgang til listene. Den indre forakssløyfen får tilgang til de enkelte strengelementene i hver av disse listene.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { //create list of lists List java_listOfLists = new ArrayList (); //create a language list and add elements to it ArrayList lang_list = new ArrayList(); lang_list.add('Java'); lang_list.add('C++'); //add language list to java list of list java_listOfLists.add(lang_list); //create a city list and add elements to it ArrayList city_list = new ArrayList(); city_list.add('Pune'); city_list.add('Mumbai'); //add the city list to java list of lists java_listOfLists.add(city_list); //display the contents of list of lists System.out.println('Java list of lists contents:'); java_listOfLists.forEach((list) -> //access each list { list.forEach((city)->System.out.print(city + ' ')); //each element of inner list }); } }
Produksjon:

Java-liste over lister er et lite konsept, men er viktig, spesielt når du må lese komplekse data i programmet ditt.
ofte stilte spørsmål
Q # 1) Hva er en liste og settes i Java?
Svar: En liste er en ordnet samling av elementer. Du kan ha dupliserte elementer i listen.
Et sett er ikke en bestilt samling. Elementer i settet er ikke ordnet i en bestemt rekkefølge. Elementene i settet må også være unike. Det tillater ikke duplikater.
Q # 2) Hvordan fungerer en liste i Java?
Svar: Listen er et grensesnitt i Java som strekker seg fra Collection-grensesnittet. Klassene ArrayList, LinkedList, Stack og Vector implementerer listegrensesnittet. Dermed kan en programmerer bruke disse klassene til å bruke funksjonaliteten til grensesnittet.
Q # 3) Hva er en ArrayList i Java?
Svar: ArrayList er et dynamisk utvalg. Det er en størrelse som kan endres, og implementerer listegrensesnittet. ArrayList bruker internt en matrise for å lagre elementene.
Q # 4) Starter lister på 0 eller 1 i Java?
Svar: Lister i Java har en nullbasert heltallindeks. Dette betyr at det første elementet i listen er i indeks 0, det andre elementet i indeks 1 og så videre.
Sp # 5) Er listen bestilt?
Svar: Ja. Listen er en ordnet samling av elementer. Denne ordren er bevart under innsettingen av et nytt element i listen,
Konklusjon
Denne opplæringen ga en introduksjon til listegrensesnittet i Java. Vi diskuterte også hovedbegrepene med lister som oppretting, initialisering av lister, utskrift av lister, etc.
I våre kommende opplæringsprogrammer vil vi diskutere de forskjellige metodene som er gitt av listegrensesnittet. Vi vil også diskutere iteratorkonstruksjonen som brukes til å iterere listeobjektet. Vi vil diskutere konvertering av listeobjekter til andre datastrukturer i vår kommende opplæring.
=> Besøk her for å se Java Training Series for alle.
Anbefalt lesing
- Java Array - Erklære, opprette og initialisere en array i Java
- Array of Objects In Java: Hvordan lage, initialisere og bruke
- Java Hello World - Lag ditt første program i Java i dag
- Java-distribusjon: Opprettelse og utføring av Java JAR-fil
- Java Virtual Machine: Hvordan JVM hjelper med å kjøre Java-applikasjoner
- Få tilgang til modifikatorer i Java - opplæring med eksempler
- Java Reflection Tutorial med eksempler
- Introduksjon til Java Programming Language - Video Tutorial