Java中数组、ArrayList和List的初始化与转换

int\[\] 数组

  • 特征: 固定大小,直接存储基本数据类型。

  • 初始化方式 :

    复制代码
    int[] array = new int[3];          // 创建一个大小为3的数组
    int[] array = {1, 2, 4};           // 使用数组字面量
ArrayList<>
  • 特征: 动态大小,只能存储对象,提供丰富的操作方法。

  • 初始化方式 :

    复制代码
    ArrayList<Integer> arrayList = new ArrayList<>();         // 空的ArrayList
    ArrayList<Integer> arrayList = new ArrayList<>(Arrays.asList(1, 2, 4)); // 初始化并填入值
List<>
  • 特征: 接口,可有多种实现,动态大小。

  • 初始化方式 :

    复制代码
    List<Integer> list = new ArrayList<>();                     // 创建一个ArrayList形式的List
    List<Integer> list = Arrays.asList(1, 2, 4);                // 初始化并填入值
数据结构间转换
  • List转int\[\]:

    复制代码
    List<Integer> list = Arrays.asList(1, 2, 4);
    int[] array = list.stream().mapToInt(Integer::intValue).toArray();
  • int\[\]转ArrayList<>:

    复制代码
    int[] array = {1, 2, 4};
    ArrayList<Integer> arrayList = new ArrayList<>();
    for (int num : array) {
        arrayList.add(num);
    }
  • ArrayList<>或List<>转int\[\]:

    复制代码
    ArrayList<Integer> arrayList = new ArrayList<>(Arrays.asList(1, 2, 4));
    int[] array = arrayList.stream().mapToInt(Integer::intValue).toArray();
相关推荐
海的透彻6 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat6 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习7 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one7 小时前
算法--构造
java·数据结构·算法
SL_staff7 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
SL_staff8 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko79 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
.Bryce.9 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测
SL_staff9 小时前
JVS-APS的7个刚性约束设计:从无限产能幻觉到可执行排产的工程实践
java·spring cloud·全栈
代码山河10 小时前
基本类型转换:自动类型转换与强制类型转换
java·学习·架构·教程·面向对象·项目