Java小记

  1. 1. 1 数组转List
  2. 2. 2 List转数组

主要记录不常用的 java 用法

1 数组转List

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 常用,但是转为List后不能修改List
// 注意,如果是int数组,则结果为List<int[]>
String[] strArr = {"a", "b", "c"};
List<String> aList = Arrays.asList(strArr);
Integer[] integerArr = {1, 2, 3};
List<Integer> bList = Arrays.asList(integerArr);
int[] intArr = {1, 2, 3};
List<int[]> cList = Arrays.asList(intArr);

// 转为List后可以修改
// 基本类型(int等)需要先boxed()转包装类
List<Integer> intList = Arrays.stream(arr).boxed().collect(Collectors.toList());
List<String> strList = Arrays.stream(strArr).collect(Collectors.toList());

// 推荐方式 可以修改
String[] strArray = {"a", "b", "c"};
List< String> arrayList = new ArrayList<String>(strArray.length);
Collections.addAll(arrayList, strArray);

2 List转数组

1
2
3
4
5
6
// 转包装类数组
List<Integer> alist = new ArrayList<>();
Integer[] integers1 = alist.toArray(new Integer[collect.size()]);

// 转基本类数组
int[] ints1 = alist.stream().mapToInt(i -> i).toArray();