算法刷题过程中有关包装类和基本类型的注意事项
包装类型和基本数据类型
int <->Integer
Integer a = Integer.valueOf(10);
int b = a.intValue();
"123" -> 123
int val = Integer.parseInt("123");
Array转化为List
List<Integer> integers = Arrays.asList(1, 2, 2, 3, 5);
Integer[] -> List<Integer>: 用法简单,可使用可变参数的形式;
Integer[] arr = {8,1,5,6,9};
List<Integer> integers = Arrays.asList(arr);
arr[0] = 666;
System.out.println(integers);
//输出 [666, 1, 5, 6, 9]
int[] -> List<Integer>: 也可以使用Arrays.asList(T[]),只不过数组必须得是Integer类型,无法使用int类型;
int[] arr = {8,1,5,6,9};
// 错误的使用方法
// Arrays.stream(arr).map((x)->{return Integer.valueOf(x);}).collect(Collectors.toList());
List<Integer> collect = Arrays.stream(arr).boxed().collect(Collectors.toList());
arr[0] = 666;
System.out.println(collect);
//输出 [8, 1, 5, 6, 9]
List转化成Array
List<Integer> -> Integer[]
ArrayList<Integer> integers = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
integers.add(new Random().nextInt(10));
}
Integer[] integersArray = new Integer[5];
integers.toArray(integersArray);
System.out.println(Arrays.toString(integersArray));
List<Integer> -> int[]
ArrayList<Integer> integers = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
integers.add(new Random().nextInt(10));
}
int[] arr = integers.stream().mapToInt(Integer::valueOf).toArray();
System.out.println(Arrays.toString(arr));
本博客内所有文章相关的材料均整理自网络,并已在文章中添加引用链接。如有遗漏或冒犯,请留言,谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)