我们创建一个Set为:

Set myset = new HashSet()

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


当前回答

列表可以通过多种方式创建:

1 -构造函数初始化

List是一个接口,可以通过以下方式创建List实例:

List<Integer> list=new ArrayList<Integer>();
List<Integer> llist=new LinkedList<Integer>();
List<Integer> stack=new Stack<Integer>();

2-使用Arrays.asList()

List<Integer> list=Arrays.asList(1, 2, 3);

3-使用Collections类方法

空列表

List<Integer> list = Collections.EMPTY_LIST;

OR

List<Integer> list = Collections.emptyList();

Collections.addAll(list = new ArrayList<Integer>(), 1, 2, 3, 4);

无法改变的列表

List<Integer> list = Collections
        .unmodifiableList(Arrays.asList(1, 2, 3));

单例对象列表

List<Integer> list = Collections.singletonList(2);

你可以从下面的参考链接中找到更多的方法。

参考:

https://www.geeksforgeeks.org/initializing-a-list-in-java/

其他回答

List是一个类似Set的接口,它有ArrayList和LinkedList作为通用实现。

我们可以创建List为:

 List<String> arrayList = new ArrayList<>();
 List<String> linkedList = new LinkedList<>(); 

我们还可以创建一个固定大小的列表:

List<String> list = Arrays.asList("A", "B", "C");

我们几乎总是使用数组列表而不是LinkedList实现:

LinkedList为对象使用了大量的空间,当我们有很多元素时,它的性能很差。 与ArrayList中的O(1)相比,LinkedList中的任何索引操作都需要O(n)时间。 点击这个链接了解更多信息。

由数组创建的列表。上面的asList不能在结构上被修改,但它的元素仍然可以被修改。

Java 8

根据文档,Collections方法。unmodifiableList返回指定列表的不可修改视图。我们可以这样得到:

Collections.unmodifiableList(Arrays.asList("A", "B", "C"));

Java 9

如果我们使用Java 9,那么:

List<String> list = List.of("A", "B");

Java 10

如果我们使用的是Java 10,那么使用collections方法。unmodifiableList将返回一个在Java 9中引入的真正不可修改的列表实例。检查这个答案,以了解更多关于集合差异的信息。unmodifiableList vs collector。unmodifiableList在Java 10中。

一个例子:

List somelist = new ArrayList();

您可以查看javadoc for List,并找到包含在java api中的List接口的所有已知实现类。

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

这将创建一个固定大小的列表,添加/删除元素是不可能的,如果你尝试这样做,它将抛出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 <>();

List list = new ArrayList();

或者使用泛型

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

当然,你也可以用任何类型的变量替换字符串,比如Integer。

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

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

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

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

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

List<String> list = ImmutableList.of("foo", "bar");