在 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