Java将数组转成List

Java将数组转成List1.Java8及以上可通过stream流String[]arr={"1","2","3"};List<String>list=Arrays.stream(arr).collect(Collectors.toL

大家好,欢迎来到IT知识分享网。

1. Java8及以上可通过stream流

  String[] arr= {"1", "2", "3"};
  List<String> list = Arrays.stream(arr).collect(Collectors.toList());

2. 通过Collections.addAll(list, arr)方式转换
  根据数组的长度创建一个长度相同的List,然后通过Collections.addAll()方法,将arr数组中的元素转为二进制,
  然后添加到List中,这是最高效的方法。
  (需要在将数组转换为List后,对List进行增删改查操作,在List的数据量巨大的情况下,优先使用,可以提高操作速度。)


  String[] arr= new String[]{"1","2"};
  ArrayList<String> list= new ArrayList<String>(arr.length);
  Collections.addAll(list, arr);
  

  (注)Collections.addAll()的源码如下:
  public static <T> boolean addAll(Collection<? super T> c, T... elements) {
   boolean result = false;
   for (T element : elements)
       //result和c.add(element)按位或运算,赋值给result
       result |= c.add(element);
   return result;
  }

3. 通过 Arrays.asList(Array) 方式转换

  String[] arr = new String[]{"1","2"};
  List list = Arrays.asList(arr);

   这个转换方式转成的List只能查改,不能增删,原因是:
   Arrays.asList(strArray)的返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,
   它并不是java.util.ArrayList类。java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,
   但是不具有添加add()或删除remove()方法,所以调用add()方法会报错。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27807.html

(0)
上一篇 2023-09-19 10:00
下一篇 2023-09-19 11:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信