zoukankan      html  css  js  c++  java
  • 数组换成List

    问题描述:对于给定的如下数组,如何转换成List集合?

    String[] array = {"a","b","c"};

    参考stackoverflow总结如下几种写法:

    1.使用原生方式,拆分数组,添加到List

    List<String> resultList = new ArrayList<>(array.length);
    for (String s : array) {
        resultList.add(s);
    }

    2.使用Arrays.asList()

    List<String> resultList= new ArrayList<>(Arrays.asList(array));
    • 注意:调用Arrays.asList()时,其返回值类型是ArrayList,但此ArrayListArray的内部类,调用add()时,会报错:java.lang.UnsupportedOperationException,并且结果会因为array的某个值的改变而改变,故需要再次构造一个新的ArrayList
    • 注意:Arrays.asList(char[])将转为List<char[]>,因为要求参数为T变长数组,char不是T,同理int[]数组也不行,你必须要用Integer[]

    3.使用Collections.addAll()

    List<String> resultList = new ArrayList<>(array.length);
    Collections.addAll(resultList,array);

    4.使用List.of()

    • 此方法为 Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。
    List<String> resultList = List.of(array);
  • 相关阅读:
    [HNOI2006] 公路修建问题
    [8.16模拟赛] 玩具 (dp/字符串)
    [NOI2014] 动物园
    [CF816E] Karen and Supermarket1 [树形dp]
    [POI2006] OKR-period of words
    [BZOJ4260] Codechef REBXOR
    [POJ3630] Phone List
    正确答案 [Hash/枚举]
    The xor-longest Path [Trie]
    [NOI1999] 生日蛋糕
  • 原文地址:https://www.cnblogs.com/helloworldmybokeyuan/p/11585205.html
Copyright © 2011-2022 走看看