为了账号安全,请及时绑定邮箱和手机立即绑定

Java - 作为二维数组的元素列表

Java - 作为二维数组的元素列表

猛跑小猪 2021-11-24 20:10:37
这可能是一个奇怪的问题,但是......如何使用 List/ArrayList 作为 2D 数组的类型?如果我没有正确解释自己:int[][] arrayName = new int[9][9];在这个例子中,我想使用ArrayList<int>而不仅仅是int,但我不允许。要么是这样,要么我可能使用了错误的语法。编辑:看起来我对我的问题不够清楚(并且写了一个误导性的标题,我的错,现在修复它)。我所拥有的是一个由 2D 数组制成的网格,如上面的示例,但我想要一个整数 ArrayList 作为该网格的单个单元格的元素。ArrayList<Integer>[][] grid = new ArrayList<Integer>()[9][9]像这样的东西。这是正确的语法吗?我什至可以这样做吗?
查看完整描述

2 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

由于您不能在集合中使用原始类型(在您的情况下为 int),因此您需要使用 Interger 包装器

所以二维数组列表应该是

List<List<Interger>> array = new ArrayList<List<Interger>>();


查看完整回答
反对 回复 2021-11-24
?
慕神8447489

TA贡献1780条经验 获得超1个赞

之间<>需要一个class. 在你的情况下Integer


要制作 2D,ArrayList您可以这样做:


ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>();


ArrayList<Integer> b = new ArrayList<Integer>();

b.add(1); b.add(2); b.add(3); b.add(4); b.add(5); b.add(6);


ArrayList<Integer> c = new ArrayList<Integer>();

c.add(3); c.add(7); c.add(1); c.add(3); c.add(9);


ArrayList<Integer> d = new ArrayList<Integer>();

d.add(8); d.add(3); d.add(3); d.add(8); d.add(3); d.add(6);


ArrayList<Integer> e = new ArrayList<Integer>();

e.add(7); e.add(2); e.add(8);


a.add(b); a.add(c); a.add(d); a.add(e);


for(ArrayList<Integer> aux : a) {


    for(Integer temp : aux) {


        System.out.print(temp + " ");


    }


    System.out.println("");


}


//1 2 3 4 5 6

//3 7 1 3 9 

//8 3 3 8 3 6 

//7 2 8 


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信