【java技术总结】Java 数组转 list(列表)的最全方法(含 java8、java9、java10)
1|0对象数组转列表
1|1Collections.addAll(推荐方式)
如果 jdk 1.5 版本以上,推荐如下方法,且返回的列表对象,可以进行数据的增删改查操作:
1|2Arrays.asList(strings)(不可变列表)
java 数组工具类 Arrays
提供的静态方法 asList(T... a)
可以将对象数组转换为 List
,但是需要注意的是,它返回的 ArrayList
不是 java.util.ArrayList
,而是 Arrays
内部的实现类 ArrayList
,它存放数据的 field 是 final
类型修饰的,即数组一旦赋值后,不可改变;如果进行增删改查操作,会报 java.lang.UnsupportedOperationException
异常。
如果非要用 Arrays.asList,还要继续增删改查操作,那就可以稍微调整成如下:
1|3stream 流(java 8)
java 8 开始 Arrays
工具类提供了 stream
方法,可以进行流式操作:
这种方式返回的 list 是可变的列表。
如果非要返回 ArrayList 类型,可以如下操作:
1|4List.of(java 9,不可改变列表)
java 9 List 接口提供了 of
方法,可以将对象数组转换为不可改变的列表。
1|5java 10 两种方式
2|0基本类型数组转列表
2|1stream 流 boxed 方法(java 8)
java 8 中基本类型流(primitive streams)可以使用 boxed
方法转换为 boxed 类型流,然后再进一步 collect
成对应的列表。
2|2基本类型工具类(guava)
google 的 guava 库为 java 的基本类型提供了转换的方法,如 Ints.asList
,Longs.asList
,Doubles.asList
等,8 个基本类型都对应工具类,且都调用 asList
方法,返回不可变的列表。
如果要转成可变列表,则如下:
__EOF__
本文链接:https://www.cnblogs.com/blanset/p/17062502.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
作者:blanset
出处:https://www.cnblogs.com/blanset/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)