【问题标题】:Converting String array to java.util.List将字符串数组转换为 java.util.List
【发布时间】:2011-08-26 23:25:54
【问题描述】:

如何将String 数组转换为java.util.List

【问题讨论】:

    标签: java arrays collections


    【解决方案1】:

    使用静态 List list = Arrays.asList(stringArray) 或者您可以遍历数组并将字符串添加到列表中。

    【讨论】:

      【解决方案2】:
      List<String> strings = Arrays.asList(new String[]{"one", "two", "three"});
      

      这是数组的列表视图,列表部分不可修改,不能添加或删除元素。但是时间复杂度是O(1)。

      如果你想要一个可修改的列表:

      List<String> strings = 
           new ArrayList<String>(Arrays.asList(new String[]{"one", "two", "three"}));
      

      这会将源数组中的所有元素复制到一个新列表中(复杂度:O(n))

      【讨论】:

        【解决方案3】:
        import java.util.Collections;
        
        List myList = new ArrayList();
        String[] myArray = new String[] {"Java", "Util", "List"};
        
        Collections.addAll(myList, myArray);
        

        【讨论】:

          【解决方案4】:

          第一步需要通过Arrays.asList()创建一个列表实例;

          String[] args = new String[]{"one","two","three"};
          List<String> list = Arrays.asList(args);//it converts to immutable list
          

          然后你需要将'list'实例传递给new ArrayList();

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

          【讨论】:

            【解决方案5】:

            最简单的方法:

            String[] stringArray = {"Hey", "Hi", "Hello"};
            
            List<String> list = Arrays.asList(stringArray);
            

            【讨论】:

              【解决方案6】:

              在 Java 14 上,您可以这样做

              List<String> strings = Arrays.asList("one", "two", "three");
              

              【讨论】:

                【解决方案7】:

                Java 8 和 Stream API 开始,您可以使用 Arrays.streamCollectors.toList

                String[] array = new String[]{"a", "b", "c"};
                List<String> list = Arrays.stream(array).collect(Collectors.toList());
                

                这很实用,特别是如果您打算对列表执行进一步的操作。

                String[] array = new String[]{"a", "bb", "ccc"};
                List<String> list = Arrays.stream(array)
                                          .filter(str -> str.length() > 1)
                                          .map(str -> str + "!")
                                          .collect(Collectors.toList());
                

                【讨论】:

                  猜你喜欢
                  • 2017-11-27
                  • 2011-06-18
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-03-08
                  • 2011-02-15
                  相关资源
                  最近更新 更多