zoukankan      html  css  js  c++  java
  • List (或ArrayList) 转换为int[]数组 终于搞懂了

    之前一直不知道怎么把list转化为int[],深入研究了一下,终于搞懂了 。看示例

    import java.util.ArrayList;
    import java.util.List;
    //list转为数组
    public class Main {
        public static void main(String[] args) {//1.一维字符串list转为数组
            List<String> list1=new ArrayList<>();
            list1.add("hello");
            list1.add("world");
            list1.add("!");
            String[] strings=new String[3];
            strings=list1.toArray(new String[0]);//传入参数,表示强转
    
            //2.一维数字list转为数组
            List<Integer> list2=new ArrayList<>();
            list2.add(1);
            list2.add(2);
            list2.add(3);
            int[] arr=new int[3];
            //下一行代码是仿照String类型写的。但是报错'toArray(T[])' in 'java.util.List' cannot be applied to '(int[])'
            //原因:toArray()方法应该传入的参数T是泛型,但是泛型必须是引用类型,不能是基本类型(比如int)
            // arr=list.toArray(new int[0]);
    
            //解决方法1:采用流式处理Stream进行处理
            arr=list2.stream().mapToInt(Integer::valueOf).toArray();
    //解决方法2:声明一个Integer类型的数组 Integer[] arr2=new Integer[3]; arr2=list2.toArray(new Integer[0]);
    for(int num:arr) System.out.println(num);//1 2 3 for(int num:arr2) System.out.println(num);//1 2 3 //3.二维数字list转为数组 List<int[]> list3=new ArrayList<>(); list3.add(new int[]{0,111}); list3.add(new int[]{1,222}); //这里的泛型T为:int[],是引用类型,所以不会报错 int[][] arr2D=list3.toArray(new int[0][0]); for (int[] n:arr2D) System.out.println(n[0]+" " +n[1]);//0 111 1 222 } }
  • 相关阅读:
    获取ios设备的当前IP地址
    swift 日期的基本操作
    iOS ChildViewController使用示例
    Swift 进制转换问题
    objc_msgSend iOS8 EXC_BAD_ACCESS
    objc非主流代码技巧
    黑魔法__attribute__((cleanup))
    判断一个对象是否实现了某方法,而非继承而来
    Controlling How NSThread and NSRunLoop Exit
    万年历-农历-节气
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/12573075.html
Copyright © 2011-2022 走看看