zoukankan      html  css  js  c++  java
  • list<Integer>,Integer[],int[]之间的互转(jdk1.8)

    偶然在开发过程中需要将int[] 转成 List<Integer>,采用了遍历的方式,写的代码实在太多。

    1         List<Integer> list = new ArrayList<>();
    2         for(int i : ints1){
    3            list.add(i);
    4         }                       

    采用jdk1.8的新特性一行代码就可搞定,代码简洁

    1        int[] ints = {1, 4, 5, 6};
    2       List<Integer> collect = Arrays.stream(ints).boxed().collect(Collectors.toList());

    整理了jdk1.8下 list<Integer>,Integer[],int[]三者之间的互转

     1         List<Integer> list = new ArrayList<>();
     2         list.add(111);
     3         // List<Integer> -> int[]
     4         int[] ints = list.stream().mapToInt(Integer::valueOf).toArray();
     5         System.out.println(ints.length);
     6 
     7         // List<Integer> -> Integer[]
     8         Integer[] integers1 = list.toArray(new Integer[0]);
     9 
    10         // int[] -> List<Integer>
    11         List<Integer> collect = Arrays.stream(ints).boxed().collect(Collectors.toList());
    12         System.out.println(collect.size());
    13 
    14         // int[] -> Integer[]
    15         Integer[] integers = Arrays.stream(ints).boxed().toArray(Integer[]::new);
    16 
    17         //Integer[] -> int[]
    18         int[] ints1 = Arrays.stream(integers1).mapToInt(Integer::valueOf).toArray();
    19 
    20         //Integer[] -> list<Integer>
    21         List<Integer> integers2 = new ArrayList<>(Arrays.asList(integers1));

     同理,其他封装类类似

    希望对看到此博文的读者有帮助。

     

  • 相关阅读:
    continue用法
    break用法
    VLAN的划分
    子网掩码的计算
    简述RIP路由协议和OSPF路由协议的相同点和不同点。
    工程监理的内容是什么?
    工程监理的意义和职责是什么?
    双绞线测试的参数主要有哪些?
    光纤熔接损耗原因?
    综合布线系统的设计等级有哪几种?各有什么特点?
  • 原文地址:https://www.cnblogs.com/liyong888/p/11389851.html
Copyright © 2011-2022 走看看