Stream流之List、Integer[]、int[]相互转化

Stream流之List、Integer[]、int[]相互转化

一、int[ ]

1.1、int[ ] 转 Integer[ ]

public static void main(String[] args) {
		int[] arr = { 1, 2, 3, 4, 5 };
		List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
		list.forEach(e -> System.out.print(e + " "));
	}
  • Arrays.stream(arr) 将int数组转化为IntStream
  • bosed() 将每一个整数进行装箱,把IntStream 转换成了 Stream< Integer >
  • collect(Collectors.toList()) 将对象流收集为集合,转化为 List< Integer >

1.2、int[ ] 转 List< Integer >

Integer[] integers = Arrays.stream(arr).boxed().toArray(Integer[]::new);
  • Arrays.stream(arr) 还是转化为流
  • boxed() 装箱,将基本类型流转换为对象流
  • toArray(Integer[ ]::new) 将对象流转换为对象数组

二、Integer[ ]

2.1、Integer[ ]转 int[ ]


 	int[] arr= Arrays.stream(integers).mapToInt(Integer::valueOf).toArray();
 	
  • mapToInt(Integer::valueOf) 将对象流转化为基本类型流
  • toArray() 转化为int数组*

2.2、Integer[ ]转 List< Integer >


		Integer[] integers = {1,2,3,4,5};
		List<Integer> list = Arrays.asList(integers); 
		

三、List< Integer >

3.1、List< Integer > 转 Integer[ ]


		Integer[] integers = list.toArray(new Integer[list.size()]);

3.2、List< Integer > 转 int[ ]

		int[] arr2 = list.stream().mapToInt(Integer::valueOf).toArray();

你可能感兴趣的:(Java学习)