关于java的 List 和 数组 的相互转换

 1. List 和 包装类数组的相互转换

//包装类和List	
	List list = new ArrayList<>();
	Integer[] nums = {1, 2, 3};

//List 转 Integer[]数组
	//法1:
	Integer[] nums = list.toArray(new Integer[](list.size()));
	//法2:
	Integer[] nums = list.stream().toArray(Integer[]::new);	
	
// Integer[] 转 List
	//法1: Arrays.asList(T[] t) 或 Arrays.asList(T ...)
	List list = Arrays.asList(nums);
    //法2: Collections.addAll()
	List list = new ArrayList<>();
	Collections.addAll(list, nums);
	//法3:Arrays.stream(T[] t).collect(Colletors.toList())
	List list = Arrays.stream(nums).collect(Collectors.toList());

2. List 和 基本数据类型的数组的转换

//基本类型和List
	List list = new ArrayList<>();
 	int[] nums = {1, 2, 3};

// int[] 转 List
	List list = Arrays.stream(nums).mapToObj(Integer::new).collect(Collectors.toList());

// List 转 int[]
	int[] nums = list.stream().mapToInt(Integer::valueOf).toArray();
	//或
	int[] nums = list.stream().mapToInt(i -> i).toArray();

你可能感兴趣的:(java)