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

包装类型和基本数据类型

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 @ 2023-08-09 14:32  Yeahchen  阅读(3)  评论(0编辑  收藏  举报