在 Java 中初始化字串列表
-
在 Java 中使用
ArrayList
、LinkedList
和Vector
例項化字串列表 -
在 Java 中使用
Arrays.asList
例項化字串列表 -
在 Java 8 中使用
Stream
例項化字串列表 -
在 Java 中使用
List.of
例項化字串列表
在本教程中,我們將看到在 Java 中初始化字串列表的各種方法。由於列表是一個介面,我們不能直接將其例項化,我們可以使用 ArrayList
,LinkedList
和 Vector
來例項化一個列表。
在 Java 中使用 ArrayList
、LinkedList
和 Vector
例項化字串列表
List
是 Java 中 Collections
的一個子介面。它是一個物件的有序集合,可以儲存重複的值。List
的例項可以使用實現 List
介面的類來建立。
ArrayList
、Vector
、LinkedList
和 Stack
是其中的幾個類。我們使用 new ArraList<String>()
建立一個 List
的例項 myList
。因此,我們可以使用下面所示的任何一種方式宣告和建立一個 List
的例項,並對該 List
進行各種操作。
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
public class ListExample {
public static void main (String [] args ){
List<String> myList = new ArrayList<String>();
List<Fruits> lList = new LinkedList<Fruits>();
List<Integer> vList = new Vector<Integer>();
myList.add("Happy");
myList.add("Coding");
lList.add(new Fruits("Grapes", "Green"));
lList.add(new Fruits("Apple","Red"));
vList.add(1);
vList.add(4);
vList.add(9);
vList.add(7);
vList.remove(2);
for (String s :myList) {
System.out.println(s);
}
for(Fruits f : lList ){
System.out.println(f.name + " is " +f.color + " in color.");
}
for (int i : vList){
System.out.println(i);
}
}
}
class Fruits {
String name;
String color;
Fruits(String name , String color){
this.name = name;
this.color = color;
}
}
輸出:
Happy
Coding
Grapes is Green in color.
Apple is Red in color.
1
4
7
在 Java 中使用 Arrays.asList
例項化字串列表
Arrays.asList
方法返回一個由陣列支援的固定大小的列表。這只是一個包裝器,使陣列作為一個列表可用。我們不能修改這個列表,因為它是不可改變的。
在這裡的程式碼中,我們得到一個名為 myList
的 List
例項,它的長度不能被修改。
import java.util.Arrays;
import java.util.List;
public class ListExmp {
public static void main(String[] args) {
List<String> myList = Arrays.asList("John","Ben","Gregor","Peter");
String name = myList.get(3);
System.out.println(name);
}
}
輸出:
Peter
在 Java 8 中使用 Stream
例項化字串列表
Java 8 Stream
包含了圍繞資料來源的包裝器,使得對資料的笨重處理變得簡單方便。
Stream.of()
方法構造一個資料流,並將它們收集在一個列表中。Collector
介面提供了這個操作的邏輯。Collector.toList()
將所有的流元素收集到一個 List
的例項中。
import java.util.List;
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class ListExmp {
public static void main(String[] args) {
List<String> list = Stream.of("john", "doe").collect(Collectors.toList());
if(list.contains("doe")){
System.out.println("doe is there");
}else{
System.out.println("doe is not there");
}
}
}
輸出:
doe is there
在 Java 中使用 List.of
例項化字串列表
List.of
是 Java 9 中引入的新方法,在下面的程式碼中,List.of()
方法接受任意數量的引數並返回一個不可更改的列表。我們有 immutableList
作為 List
的一個不可修改的例項。
我們必須用一個不可變的列表作為引數例項化 ArrayList
來建立一個可修改的列表。如下面的程式碼所示,可以對 List
的 mutableList
例項進行修改。
import java.util.List;
import java.util.ArrayList;
public class ListExmp {
public static void main(String[] args) {
List<String> immutableList = List.of("One","Two","Three","Four","Five");
List<String> mutableList = new ArrayList<>(List.of("Six", "Seven", "Eight"));
for(String l:immutableList) {
System.out.println(l);
}
System.out.println("XXXXXX");
mutableList.add("Nine");
for(String l:mutableList) {
System.out.println(l);
}
}
}
輸出:
One
Two
Three
Four
Five
XXXXXX
Six
Seven
Eight
Nine
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn