ArrayList创建二维数组的几种方法

一:List<List<Integer,>> list=new ArrayList<>();

加个“,”不然打不上去。

class Solution {
    public List<List<Integer>> threeSum(int[] nums) {
        Arrays.sort(nums);
        List<List<Integer>> list=new ArrayList<>();
        List<Integer> l=new ArrayList<Integer>();
        List<Integer> ll=new ArrayList<Integer>();
        l.add(5);
        ll.add(4);
        list.add(l);
        list.add(ll);
        list.get(0).add(6);
        list.get(1).add(7);
        return list;
    }
}
输出:[[5,6],[4,7]]

class Solution {
    public List<List<Integer>> threeSum(int[] nums) {
        Arrays.sort(nums);
        List<List<Integer>> list=new ArrayList<>();
        List<Integer> l=new ArrayList<Integer>();
        l.add(5);
        list.add(l);
        list.add(l);
        list.get(0).add(6);
        list.get(1).add(7);
        return list;
    }
}
输出:[[5,6,7],[5,6,7]]
注意区分这两种情况

二:ArrayList<ArrayList<Integer,>>=new ArrayList<ArrayList<Integer,>();
缺点:如果要求返回的是List<List<Integer,>>则会出错

三:ArrayList<Integer,>[] arraylist1 = new ArrayList[3];
List<Integer,>[] arraylist1 = new ArrayList[3];
效果一样

class Solution {
    public List<List<Integer>> threeSum(int[] nums) {
        List<List<Integer>> list=new ArrayList<>();
        ArrayList<Integer>[] arraylist1 = new ArrayList[3];
        arraylist1[0] = new ArrayList<Integer>();
      
        arraylist1[0].add(1);
        arraylist1[0].add(2);
        arraylist1[0].add(3);

        arraylist1[1] = new ArrayList<Integer>();
        arraylist1[1].add(4);
        arraylist1[1].add(5);
        arraylist1[1].add(6);

        arraylist1[2] = new ArrayList<Integer>();
        arraylist1[2].add(7);
        arraylist1[2].add(8);
        arraylist1[2].add(9);

        System.out.println(Arrays.deepToString(arraylist1));
        return list;
    }
}
输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]


版权声明:本文为qq_45633812原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。