Java中初始化字符串列表

时间:2020-02-23 14:40:05  来源:igfitidea点击:

在本教程中,我们将看到Java中如何初始化字符串列表。

我们可以像下面这样初始化字符串列表吗?

List<String> list = new List<String>();

不行,
因为列表是一个接口,因此无法使用 new List()进行实例化。

我们需要使用实现的类实例化 List接口。

以下是实现列表接口的常见Java Collections类。

//ArrayList
List<String> list1 = new ArrayList<String>();
 
//LinkedList
List<String> list2 = new LinkedList<String>();
 
//Vector
List<String> list3 = new Vector<String>();
 
//CopyOnWriteArrayList
List<String> list4 = new CopyOnWriteArrayList<String>();

在大多数情况下,我们将使用以下列表初始化列表。

//ArrayList
List<String> list1 = new ArrayList<String>();

如果我们正在使用 java 7 or greater比你可以使用钻石运算符与泛型。

//ArrayList
List<String> list1 = new ArrayList<>();

初始化具有值的字符串列表

有很多方法可以使用值初始化字符串列表。

arrays的aslist.

我们可以使用数组的ASLIST方法初始化列表。

List<String> list1 = Arrays.asList("Netherlands","China","Bhutan");

Stream.of(Java 8)

我们可以使用Java 8的流初始化具有值的字符串列表。

List<String> list1 = Stream.of("Netherlands","China","Bhutan").collect(Collectors.toList());

list.of(Java 9)

最后,Java介绍了一个 of()列表类中的方法初始化列表,其中包含Java 9中的值。

List<String> list1 = List.of("Netherlands","China","Bhutan");

使用Artrlist的Add方法

我们可以显然初始化与新运算符的ArrayList,然后使用"添加"方法将元素添加到列表中。

//ArrayList
List<String> list1 = new ArrayList<>();
list1.add("Netherlands");
list1.add("China");
list1.add("Bhutan");

使用guava库

我们也可以使用Guava库。

List<String> list1 = Lists.newArrayList("Netherlands","China","Bhutan");

这是完整的例子。

package org.igi.theitroad;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
 
public class ListOfStringsMain {
 
	public static void main(String[] args) {
		
		List<String> list1 = new ArrayList<>();
		list1.add("Netherlands");
		list1.add("China");
		list1.add("Bhutan");
		System.out.println(list1);
		
		//Using Arrays.asList
		List<String> list2= Arrays.asList("Netherlands","China","Bhutan");
		System.out.println(list2);
		
		//Using Stream.of
		List<String> list3 = Stream.of("Netherlands","China","Bhutan").collect(Collectors.toList());
		System.out.println(list3);
		
		List<String> list4 = List.of("Netherlands","China","Bhutan");
		System.out.println(list4);
	}
}

输出:

[Netherlands, China, Bhutan]
[Netherlands, China, Bhutan]
[Netherlands, China, Bhutan]
[Netherlands, China, Bhutan]