如何快速方便地创建一个元素数组列表

这个问题在这里已经有了答案:

  • 在一行中初始化ArrayList 32个答案

  • 固定大小List

    我知道的最简单的方法是创建一个固定大小的单元素List其中包含Arrays.asList(T...)

    // Returns a List backed by a varargs T.
    return Arrays.asList(s);
    

    可变大小List

    如果需要改变大小,你可以构造一个ArrayList和固定大小的List

    return new ArrayList<String>(Arrays.asList(s));
    

    和(在Java 7+中),您可以使用菱形运算符<>来创建它

    return new ArrayList<>(Arrays.asList(s));
    

    Collections.singletonList(object)
    

    您可以使用实用程序方法Arrays.asList并将该结果提供给新的ArrayList

    List<String> list = new ArrayList<String>(Arrays.asList(s));
    

    其他选项:

    List<String> list = new ArrayList<String>(Collections.nCopies(1, s));
    

    List<String> list = new ArrayList<String>(Collections.singletonList(s));
    
  • ArrayList(Collection)构造函数。
  • Arrays.asList方法。
  • Collections.nCopies方法。
  • Collections.singletonList方法。
  • 使用Java 7+,您可以使用“菱形运算符”,用new ArrayList<String>(...)替换new ArrayList<String>(...) new ArrayList<>(...)

    Java 9

    如果您使用Java 9+,则可以使用List.of方法:

    List<String> list = new ArrayList<>(List.of(s));
    

    无论使用上述每个选项,如果您不需要列表可变,您可以选择不使用new ArrayList<>()包装器。

    链接地址: http://www.djcxy.com/p/27703.html

    上一篇: How to quickly and conveniently create a one element arraylist

    下一篇: What's the difference between map and flatMap methods in Java 8?