当前位置: 首页 > news >正文

Java 中数组转集合的方法

Java 中数组转集合的方法

1. 对于对象引用数组

1.1. 使用 Arrays.asList() 方法

这是最常用的方法,适用于对象数组(非基本类型数组):

String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array); //不可变,同时修改会反映到原数组
List<String> list2 = new ArrayList(list); //可变

注意
• 返回的 List 是固定大小的,不能添加或删除元素
• 对返回列表的修改会反映到原数组

1.2. 使用 Collections.addAll() 方法
String[] array = {"a", "b", "c"};
List<String> list = new ArrayList<>();
Collections.addAll(list, array);

这种方法创建的 List 是可变的。

1.3. 使用 Java 8 Stream API
String[] array = {"a", "b", "c"};
List<String> list = Arrays.stream(array).collect(Collectors.toList());

或者更简洁的写法:

List<String> list = Stream.of(array).collect(Collectors.toList());
1.4. 使用 List.of() (Java 9+)

Java 9 引入了 List.of() 方法:

String[] array = {"a", "b", "c"};
List<String> list = List.of(array);

注意:返回的 List 是不可变的。

2. 对于基本类型数组

基本类型数组需要特殊处理,因为 Arrays.asList() 不能正确处理基本类型数组:

int[] intArray = {1, 2, 3};
List<Integer> list = Arrays.stream(intArray)
                          .boxed()
                          .collect(Collectors.toList());

3. 手动遍历添加

String[] array = {"a", "b", "c"};
List<String> list = new ArrayList<>();
for (String item : array) {
    list.add(item);
}

选择建议

• 如果需要可变集合:使用 new ArrayList<>(Arrays.asList(array))Collections.addAll()
• 如果不需要修改集合:使用 Arrays.asList()List.of()
• 对于基本类型数组:使用 Stream API 的 boxed() 方法

记住,数组和集合之间的转换可能会影响性能,特别是在处理大量数据时。

相关文章:

  • 分布式环境下的主从数据同步
  • SpringBoot事务管理(四)
  • Faster-Whisper —— 为语音识别加速的利器
  • 283. 移动零
  • 【QT】Qt4 QtWebKit使用教程
  • 数据结构与算法-双指针法
  • Java 大视界 -- 基于 Java 的大数据可视化在城市规划决策支持中的交互设计与应用案例(164)
  • 30-超市进销存管理系统
  • RAG 高效检索利器 打造企业 “规章制度智能体”(ollama + deepseek + langchain + MinerU)
  • 力扣经典算法篇-5-多数元素(哈希统计,排序,摩尔投票法)
  • CES Asia 2025:行业话语权的逐鹿高地
  • 如何利用系统的数据分析能力提高利润额?
  • websocket获取客服端真实ip
  • Linux | I.MX6ULL 终结者底板原理图讲解(5)
  • 最新万能场馆预约系统源码 基于ThinkPHP+UniApp 含图文搭建部署教程
  • Python+新版DeepSeek V3轻松开发Agent
  • Unity跨平台输入系统
  • Doris Streamloader安装教程
  • LeetCode 78.子集
  • 字符函数,日期函数笔记
  • 自己可以做防伪网站吗/百度seo插件
  • 做优化排名会不会影响网站速度/企业网站优化方案
  • 广告网站建设流程/百度seo搜索营销新视角
  • 电子工程网官方网站/app推广拉新工作可靠吗
  • 网站的k线图怎么做/上海百度关键词推广
  • 旅游网站模板html5/有趣的网络营销案例