算法刷题过程中有关包装类和基本类型的注意事项

包装类型和基本数据类型

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));

 

posted @   Yeahchen  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航