通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。

String[] strArray = new String[2];
List list = Arrays.asList(strArray);
list.add("1");//此处会报错

原因解析:
Arrays.asList(strArray)返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,它并非java.util.ArrayList类。java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有添加add()或删除remove()方法,所以调用add()方法会报错。
使用场景:Arrays.asList(strArray)方式仅能用在将数组转换为List后,不需要增删其中的值,仅作为数据源读取使用。

通过ArrayList的构造器,将Arrays.asList(strArray)的返回值由java.util.Arrays.ArrayList转为java.util.ArrayList

String[] strArray = new String[2];
ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArray)) ;

使用场景:需要在将数组转换为List后,对List进行增删改查操作,在List的数据量不大的情况下,可以使用。

通过集合工具类Collections.addAll()方法(最高效)

通过Collections.addAll(arrayList, strArray)方式转换,根据数组的长度创建一个长度相同的List,然后通过Collections.addAll()方法,将数组中的元素转为二进制,然后添加到List中,这是最高效的方法。

String[] strArray = new String[2];
ArrayList< String> arrayList = new ArrayList<String>(strArray.length);
Collections.addAll(arrayList, strArray);

使用场景:需要在将数组转换为List后,对List进行增删改查操作,在List的数据量巨大的情况下,优先使用,可以提高操作速度。

最新文章

  1. PHP扩展安装mcrypt 提示没有可用包(No package php-mcrypt available)
  2. C语言格式化输入不定长数组
  3. ReentrantLock的使用
  4. 转:eclipse技巧之快速生成Override函数
  5. [原]Unity3D深入浅出 - 脚本开发基础(Scripts)
  6. Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区
  7. Makefile学习(一)变量
  8. Jetty:配置概览-须要配置什么
  9. [Cacti] cacti监控mongodb性能实战
  10. (5)java中的常用API,其实就是一些常见类的使用
  11. 201521123065 《Java程序设计》第3周学习总结
  12. 初学者一些常用的SQL语句(一)
  13. 解析spring中的BeanFactory
  14. (转)Jmeter基础之编写HTTP接口用例
  15. python远程连接windows
  16. python-ceilometerclient命令行(2)
  17. What does -&gt; do in clojure?
  18. Spring getBean 首字母大小写问题
  19. MYSQL错误:You can&#39;t specify target table for update in FROM clause
  20. DW如何打开已经关闭的站点文件提示框

热门文章

  1. cenots7 rpm 包升级ssh
  2. 重写Collections集合的排序比较CompareTo方法
  3. List循环问题
  4. Unity一键制作预制体Prefab一键修改Prefab属性
  5. C/C++ union联合体介绍
  6. nohup--将程序放入后台执行
  7. Linux编译安装中的--prefix
  8. Linux环境下给python项目写个启停服务
  9. centos7.6安装rz命令上传文件
  10. supertv