在 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.Collectors;
import java.util.stream.Stream;
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.ArrayList;
import java.util.List;
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