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


一. int[ ]转化

1.1、int[ ] 转 List< 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
  • boxed() 将每一个整数进行装箱,把IntStream 转换成了 Stream< Integer >
  • collect(Collectors.toList()) 将对象流收集为集合,转化为 List< Integer >

1.2、int[ ] 转 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();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM