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