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

Java中将二维数组的索引添加到List的末尾

Java中将二维数组的索引添加到List的末尾

临摹微笑 2023-08-23 17:13:35
我正在开发一个小游戏,玩家单击一个按钮,其值来自二维数组。这就是游戏的外观。如果玩家想要恢复他的操作,我想将玩家采取的步骤保存在列表中,当他单击“恢复”按钮时,列表的最后一项将被恢复。问题是我不知道如何将二维数组的索引保存到列表中。我的代码很远,因为数组如下for (int i = 0; i < buttons.length; i++) {        for (int j = 0; j < buttons[i].length; j++) {            counter++;            buttons[i][j] = new JButton("" + counter);            buttons[i][j].setBackground(Color.white);            buttons[i][j].addActionListener(new ButtonPress());            fenster.add(buttons[i][j]);ActionListener 的代码在这里:public void actionPerformed(ActionEvent e) {        amountMoves++;        moves.setText("Moves: " + amountMoves);        int x = 0;        int y = 0;        for (int i = 0; i < buttons.length; i++) {            for (int j = 0; j < buttons[i].length; j++) {                if (((JButton) e.getSource()).equals(buttons[i][j])) {                    x = i;                     y = j;                    break;                }            }        }    }列表不是我的强项,到目前为止我只有这个:    ArrayList<Integer> steps = new ArrayList<Integer>();我知道我可以添加一个元素并steps.add()删除最后一个元素steps.remove(steps.size() - 1);,但到目前为止就是这样任何帮助是极大的赞赏编辑:在@Johnny Mopp 和@SSP 的帮助下,我想出了该怎么做。首先,我创建了一个 String 类型的列表ArrayList<String> steps = new ArrayList<String>();(您也可以使用 JButton 类型的列表)并将其添加到 Actionlister 中steps.add(buttons[i][j].getText());
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

创建列表的列表:-

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

如果您要保存第 2 行和第 2 列数据,请保存如下值:-

steps.get(1).add(1{index of column},2{value to be stored});

如果您是第一次添加元素,您需要实例化对象,如下所示:-

if(steps.get(1) == null){
    steps.get(1) = new ArrayList<>();
}

访问数据

 steps.get(1).get(2);


查看完整回答
反对 回复 2023-08-23
  • 1 回答
  • 0 关注
  • 142 浏览

添加回答

举报

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