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]