int数组,Integer数组以及List<Integer>之间的相互转换

本文详细介绍了Java中List、Integer数组以及int数组之间的相互转换方法,包括List转Integer数组、List转int数组、Integer数组转List、int数组转List以及Integer数组转int数组的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int数组,Integer数组以及List之间的相互转换

List转成Integer数组

list.toArray(new Integer[list.size()])
@Test
public void test01() {
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    Integer[] array = list.toArray(new Integer[list.size()]);
}

List转成int数组

list.stream().mapToInt(Integer::intValue).toArray();
@Test
public void test02() {
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    //mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream,IntStream中默认toArray()转成int[]
    int[] array = list.stream().mapToInt(Integer::intValue).toArray();
}

Integer数组转成List

Arrays.asList(T ...a)
@Test
public void test03() {
    Integer[] arr = {12,13,15};
    List<Integer> list = Arrays.asList(arr);
}

int数组转成List

Arrays.stream(数组名).boxed().collect(Collectors.toList())
 @Test
public void test04() {
    int[] arr = {12,13,15};
    // 1.使用Arrays.stream将int[]转换成IntStream
    // 2.使用IntStream中的boxed()装箱。将IntStream转换成Stream<Integer>
    // 3.使用Stream的collect(),将Stream<T>转换成List<T>,因此正是List<Integer>
    List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
}

Integer数组转成int数组

Arrays.stream(arr).mapToInt(Integer::valueOf).toArray()
@Test
public void test05() {
    Integer[] arr = {12,13,15};
    //先将Integer[]转成Stream<Integer>,再转成IntStream
    int[] res = Arrays.stream(arr).mapToInt(Integer::valueOf).toArray();
}

int数组转成Integer数组

Arrays.stream(arr).boxed().toArray(Integer[]::new)
@Test
public void test06() {
    int[] arr = {12,13,15};
    //先将int[]装成intStream,然后使用boxed()进行装箱,得到Stream(Integer)
    //然后使用Stream的toArray,传入IntFunction<A[]> generator,返回Integer[]
    Integer[] res = Arrays.stream(arr).boxed().toArray(Integer[]::new);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值