Javaサンプルコード

9901 ワード

Stramの使用:listとarrayの相互変換
転入先
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
public class Main {
     
    public static void main(String[] args) {
     
        int[] data = {
     4, 5, 3, 6, 2, 5, 1};
 
        // int[]   List
        List<Integer> list1 = Arrays.stream(data).boxed().collect(Collectors.toList());
        // Arrays.stream(arr)      IntStream.of(arr)。
        // 1.  Arrays.stream int[]   IntStream。
        // 2.  IntStream  boxed()  。 IntStream   Stream
        // 3.  Stream collect(), Stream   List,    List
 
        // int[]   Integer[]
        Integer[] integers1 = Arrays.stream(data).boxed().toArray(Integer[]::new);
        //      ,   Stream
        //     Stream toArray,  IntFunctiongenerator。
        //        Integer  。
        //      Object[]。
 
        // List   Integer[]
        Integer[] integers2 = list1.toArray(new Integer[0]);
        //    toArray。    T[] a。          。
        // List String[]   。
 
        // List   int[]
        int[] arr1 = list1.stream().mapToInt(Integer::valueOf).toArray();
        //      int[]  ,     IntStream。
        //      mapToInt() Stream  Integer::valueOf   IntStream
        //  IntStream   toArray()  int[]。
 
        // Integer[]   int[]
        int[] arr2 = Arrays.stream(integers1).mapToInt(Integer::valueOf).toArray();
        //     。  Integer[]  Stream,   IntStream。
 
        // Integer[]   List
        List<Integer> list2 = Arrays.asList(integers1);
        //       。String[] List
 
        //   
        String[] strings1 = {
     "a", "b", "c"};
        // String[]   List
        List<String> list3 = Arrays.asList(strings1);
        // List   String[]
        String[] strings2 = list3.toArray(new String[0]);
 
    }
}