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