集合数组相互转换:int[]转List<Integer>

2021-12-06 10:57:35 浏览数 (1)

集合与数组的相互转换,这里主要介绍int[] 如何转换成Integer[] 和 List<Integer> ,主要是有一个装箱的过程,我们可以利用jdk8中stream用法中的boxed可以帮我们自动做装箱操作:

代码语言:javascript复制
package com.lsqingfeng.action.knowledge.collection;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 数组与集合的相互转换
 */
public class ListArrayDemo {
    public static void main(String[] args) {
        int []arr = {1,2,3,4,5,6};
        // int[] 转List  boxed: 装箱:将基本类型转成包装类
        List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
        System.out.println(list);

        // int[] 转 integer[]
        Integer[] arr2 = Arrays.stream(arr).boxed().toArray(Integer[]::new);

        //List<> 转  Integer[]
        Integer[] arr3 = list.toArray(new Integer[0]);

        // List<> 转 int[]
        int[] arr4 = list.stream().mapToInt(Integer::intValue).toArray();

        //Integer[] 转 int[]
        int[]arr5 = Arrays.stream(arr3).mapToInt(Integer::intValue).toArray();

        // Integer[] 转 List<Integer>
        List<Integer> list2 = Arrays.asList(arr2);

    }
}

0 人点赞