Java 8 中 List 转 int[]
原文地址:List (或ArrayList) 转换为int[]数组 终于搞懂了
import java.util.ArrayList;
import java.util.List;
//list转为数组
public class Main {
public static void main(String[] args) {//1.一维字符串list转为数组
List<String> list1=new ArrayList<>();
list1.add("hello");
list1.add("world");
list1.add("!");
String[] strings=new String[3];
strings=list1.toArray(new String[0]);//传入参数,表示强转
//2.一维数字list转为数组
List<Integer> list2=new ArrayList<>();
list2.add(1);
list2.add(2);
list2.add(3);
int[] arr=new int[3];
//下一行代码是仿照String类型写的。但是报错'toArray(T[])' in 'java.util.List' cannot be applied to '(int[])'
//原因:toArray()方法应该传入的参数T是泛型,但是泛型必须是引用类型,不能是基本类型(比如int)
// arr=list.toArray(new int[0]);
//解决方法1:采用流式处理Stream进行处理
arr=list2.stream().mapToInt(Integer::valueOf).toArray();
//解决方法2:声明一个Integer类型的数组
Integer[] arr2=new Integer[3];
arr2=list2.toArray(new Integer[0]);
for(int num:arr)
System.out.println(num);//1 2 3
for(int num:arr2)
System.out.println(num);//1 2 3
//3.二维数字list转为数组
List<int[]> list3=new ArrayList<>();
list3.add(new int[]{0,111});
list3.add(new int[]{1,222});
//这里的泛型T为:int[],是引用类型,所以不会报错
int[][] arr2D=list3.toArray(new int[0][0]);
for (int[] n:arr2D)
System.out.println(n[0]+" " +n[1]);//0 111 1 222
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」