我们创建一个Set为:

Set myset = new HashSet()

我们如何在Java中创建一个列表?


当前回答

如果你需要一个单一实体的可序列化的不可变列表,你可以使用:

List<String> singList = Collections.singletonList("stackoverlow");

其他回答

List myList = new ArrayList();

或使用泛型(Java 7或更高版本)

List<MyType> myList = new ArrayList<>();

或使用泛型(旧java版本)

List<MyType> myList = new ArrayList<MyType>();

使用谷歌Collections,您可以在Lists类中使用以下方法

import com.google.common.collect.Lists;

// ...

List<String> strings = Lists.newArrayList();

List<Integer> integers = Lists.newLinkedList();

对于变量参数初始化和从Iterable<T>初始化有重载。

这些方法的优点是,您不需要像使用构造函数那样显式地指定泛型参数——编译器将根据变量的类型推断出它。

下面是一些创建列表的方法。

这将创建一个固定大小的列表,添加/删除元素是不可能的,如果你尝试这样做,它将抛出java.lang.UnsupportedOperationException。

    List<String> fixedSizeList = Arrays.asList(new String[] {"Male", "Female"});
    List<String> fixedSizeList = Arrays.asList("Male", "Female");
    List<String> fixedSizeList = List.of("Male", "Female"); //from java9

以下版本是一个简单的列表,您可以在其中添加/删除任意数量的元素。 List<String> List = new ArrayList<>();


这是如何在java中创建一个LinkedList,如果你需要频繁地插入/删除列表上的元素,你应该使用LinkedList而不是ArrayList List<String> linkedList = new linkedList <>();

因为Java 7创建泛型实例有类型推断,所以不需要在赋值的右边复制泛型参数:

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

固定大小的列表可以定义为:

List<String> list = Arrays.asList("foo", "bar");

对于不可变列表,你可以使用Guava库:

List<String> list = ImmutableList.of("foo", "bar");
//simple example creating a list form a string array

String[] myStrings = new String[] {"Elem1","Elem2","Elem3","Elem4","Elem5"};

List mylist = Arrays.asList(myStrings );

//getting an iterator object to browse list items

Iterator itr= mylist.iterator();

System.out.println("Displaying List Elements,");

while(itr.hasNext())

  System.out.println(itr.next());