The Java.util.List on lapsikäyttöliittymä Kokoelma . Se on järjestetty kokoelma objekteja, joihin voidaan tallentaa päällekkäisiä arvoja. Koska List säilyttää lisäysjärjestyksen, se mahdollistaa paikantamisen ja elementtien lisäämisen. List Interface on toteuttanut ArrayList , LinkedList , Vektori ja Pino luokat.
List on käyttöliittymä, ja Listan esiintymät voidaan luoda seuraavilla tavoilla:
List a = new ArrayList(); List b = new LinkedList(); List c = new Vector(); List d = new Stack();>
Alla on seuraavat tavat alustaa luettelo:
-
List.add()-metodia käyttämällä
Koska luettelo on käyttöliittymä, sitä ei voi luoda suoraan. Voidaan kuitenkin luoda objekteja niistä luokista, jotka ovat toteuttaneet tämän rajapinnan ja toteuttaa ne.
Harvat luokat, jotka ovat toteuttaneet List-rajapinnan, ovat Pino, ArrayList, LinkedList, Vector jne.
Syntaksi:
List list=new ArrayList(); List llist=new LinkedList(); List stack=new Stack();>
Esimerkkejä:
import>
java.util.*;>
import>
java.util.function.Supplier;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// For ArrayList>
>
List list =>
new>
ArrayList();>
>
list.add(>
1>
);>
>
list.add(>
3>
);>
>
System.out.println(>
'ArrayList : '>
+ list.toString());>
>
>
// For LinkedList>
>
List llist =>
new>
LinkedList();>
>
llist.add(>
2>
);>
>
llist.add(>
4>
);>
>
System.out.println(>
'LinkedList : '>
+ llist.toString());>
>
>
// For Stack>
>
List stack =>
new>
Stack();>
>
stack.add(>
3>
);>
>
stack.add(>
1>
);>
>
System.out.println(>
'Stack : '>
+ stack.toString());>
>
}>
}>
>
>
Lähtö:ArrayList : [1, 3] LinkedList : [2, 4] Stack : [3, 1]>
Double Brace -alustus voidaan käyttää myös edellä mainittujen töiden suorittamiseen.
Syntaksi:
List list=new ArrayList(){{ add(1); add(2); add(3); }};>
Esimerkkejä:
import>
java.util.*;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// For ArrayList>
>
List list =>
new>
ArrayList() {{>
>
add(>
1>
);>
>
add(>
3>
);>
>
} };>
>
System.out.println(>
'ArrayList : '>
+ list.toString());>
>
>
// For LinkedList>
>
List llist =>
new>
LinkedList() {{>
>
add(>
2>
);>
>
add(>
4>
);>
>
} };>
>
System.out.println(>
'LinkedList : '>
+ llist.toString());>
>
>
// For Stack>
>
List stack =>
new>
Stack() {{>
>
add(>
3>
);>
>
add(>
1>
);>
>
} };>
>
System.out.println(>
'Stack : '>
+ stack.toString());>
>
}>
}>
>
>
Lähtö:ArrayList : [1, 3] LinkedList : [2, 4] Stack : [3, 1]>
-
Arrays.asList()
- Muuttumattoman luettelon luominen
Arrays.asList() luo muuttumattoman luettelon taulukosta. Siksi sitä voidaan käyttää luettelon muodostamiseen taulukolla.
Syntaksi:
List list=Arrays.asList(1, 2, 3);>
Esimerkkejä:
import>
java.util.Arrays;>
import>
java.util.List;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// Instantiating List using Arrays.asList()>
>
List list = Arrays.asList(>
1>
,>
2>
,>
3>
);>
>
>
// Print the list>
>
System.out.println(>
'List : '>
+ list.toString());>
>
}>
}>
>
>
Lähtö:List : [1, 2, 3]>
- Luodaan vaihtuvaa listaa
Syntaksi:
List list=new ArrayList(Arrays.asList(1, 2, 3));>
Esimerkkejä:
import>
java.util.ArrayList;>
import>
java.util.Arrays;>
import>
java.util.List;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// Creating a mutable list using Arrays.asList()>
>
List list =>
new>
ArrayList(>
>
Arrays.asList(>
1>
,>
2>
,>
3>
));>
>
>
// Print the list>
>
System.out.println(>
'List : '>
+ list.toString());>
>
>
list.add(>
5>
);>
>
>
// Print the list>
>
System.out.println(>
'Modified list : '>
+ list.toString());>
>
}>
}>
10/50
>
>
Lähtö:List : [1, 2, 3] Modified list : [1, 2, 3, 5]>
- Muuttumattoman luettelon luominen
-
Kokoelmat-luokan menetelmien käyttäminen
Kokoelmat-luokassa on useita menetelmiä, joita voidaan käyttää luettelon luomiseen. He ovat:
-
Collections.addAll()
Kokoelmat luokassa on staattinen menetelmä addAll() jota voidaan käyttää luettelon alustamiseen. Collections.addAll() ottaa minkä tahansa määrän elementtejä sen jälkeen, kun se on määritetty kokoelmassa, johon elementit lisätään.
Syntaksi:
List list = Collections.EMPTY_LIST; Collections.addAll(list = new ArrayList(), 1, 2, 3, 4);>
Esimerkkejä:
import>
java.util.*;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// Create an empty list>
>
List list =>
new>
ArrayList();>
>
>
// Instantiating list using Collections.addAll()>
>
Collections.addAll(list,>
1>
,>
2>
,>
3>
,>
4>
);>
>
>
// Print the list>
>
System.out.println(>
'List : '>
+ list.toString());>
>
}>
}>
>
>
Lähtö:List : [1, 2, 3, 4]>
-
Collections.unmodifiableList()
Collections.unmodifiableList() palauttaa luettelon, jota ei voi muuttaa, eli se ei voi lisätä tai poistaa elementtiä. Kaikki yritykset muokata luetteloa johtavat UnsupportedOperationExample-tilaan.
Syntaksi:
List list = Collections .unmodifiableList(Arrays.asList(1, 2, 3));>
Esimerkki 1:
import>
java.util.*;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// Creating the list>
>
List list = Collections.unmodifiableList(>
>
Arrays.asList(>
1>
,>
2>
,>
3>
));>
>
>
// Print the list>
>
System.out.println(>
'List : '>
+ list.toString());>
>
}>
}>
>
>
Lähtö:List : [1, 2, 3]>
Esimerkki 2:
import>
java.util.*;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
try>
{>
>
// Creating the list>
>
List list = Collections.unmodifiableList(>
>
Arrays.asList(>
1>
,>
2>
,>
3>
));>
>
>
// Print the list>
>
System.out.println(>
'List : '>
+ list.toString());>
>
>
// Trying to modify the list>
>
System.out.println(>
'Trying to modify the list'>
);>
>
list.set(>
0>
, list.get(>
0>
));>
>
}>
>
>
catch>
(Exception e) {>
>
System.out.println(>
'Exception : '>
+ e);>
>
}>
>
}>
}>
>
>
Lähtö:List : [1, 2, 3] Trying to modify the list Exception : java.lang.UnsupportedOperationException>
-
Collections.singletonList()
Collections.singletonList() palauttaa muuttumattoman luettelon, joka koostuu vain yhdestä elementistä.
Syntaksi:
List list = Collections.singletonList(2);>
Esimerkki 1:
import>
java.util.*;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// Creating the list>
>
List list = Collections.singletonList(>
2>
);>
>
>
// Print the list>
>
System.out.println(>
'List : '>
+ list.toString());>
>
}>
}>
>
>
Lähtö:List : [2]>
-
-
Java 8 Streamin käyttö
Streamin ja toiminnallisen ohjelmoinnin käyttöönoton myötä Java 8:ssa voi nyt rakentaa minkä tahansa objektivirran ja kerätä ne sitten luetteloksi.
Syntaksi:
1. List list = Stream.of(1, 2, 3) .collect(Collectors.toList()); 2. List list = Stream.of(1, 2, 3) .collect(Collectors.toCollection(ArrayList::new)); 3. List list = Stream.of(1, 2, 3, 4) .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));>
Esimerkkejä:
import>
java.util.*;>
import>
java.util.stream.Collectors;>
import>
java.util.stream.Stream;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// Creating a List using Syntax 1>
>
List list1 = Stream.of(>
1>
,>
2>
,>
3>
)>
>
.collect(Collectors.toList());>
>
>
// Printing the list>
>
System.out.println(>
'List using Syntax 1: '>
>
+ list1.toString());>
>
>
// Creating a List using Syntax 2>
>
List list2 = Stream>
>
.of(>
3>
,>
2>
,>
1>
)>
>
.collect(>
>
Collectors>
>
.toCollection(ArrayList::>
new>
));>
>
>
// Printing the list>
>
System.out.println(>
'List using Syntax 2: '>
>
+ list2.toString());>
>
>
// Creating a List using Syntax 3>
>
List list3 = Stream>
>
.of(>
1>
,>
2>
,>
3>
,>
4>
)>
>
.collect(>
>
Collectors>
>
.collectingAndThen(>
>
Collectors.toList(),>
>
Collections::unmodifiableList));>
>
>
// Printing the list>
>
System.out.println(>
'List using Syntax 3: '>
>
+ list3.toString());>
>
}>
}>
>
>
Lähtö:List using Syntax 1: [1, 2, 3] List using Syntax 2: [3, 2, 1] List using Syntax 3: [1, 2, 3, 4]>
-
Java 9:n käyttö List.of()
Java 9 esitteli List.of()-menetelmän, joka ottaa vastaan minkä tahansa määrän argumentteja ja rakentaa niistä kompaktin ja muokkaamattoman listan.
Syntaksi:
List unmodifiableList = List.of(1, 2, 3);>
Esimerkkejä:
import>
java.util.List;>
>
public>
class>
GFG {>
>
public>
static>
void>
main(String args[])>
>
{>
>
>
// Creating a list using List.of()>
>
List unmodifiableList = List.of(>
1>
,>
2>
,>
3>
);>
>
>
// Printing the List>
>
System.out.println(>
'List : '>
>
+ unmodifiableList.toString());>
>
}>
}>
>
>
TULO:
[1, 2, 3]>