gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:28:19 25 4
gpt4 key购买 nike

我正在开发一个小游戏,玩家单击一个按钮,该按钮的值来自二维数组。 This is how the game looks如果玩家想要恢复他的操作,我想将玩家采取的步骤保存在列表中,当他单击“恢复”按钮时,列表的最后一项将被恢复。问题是我不知道如何将二维数组的索引保存到列表中。

我的代码很远,因为数组如下

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());

最佳答案

创建列表的列表:-

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);

关于java - Java中将二维数组的索引添加到List的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58086830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com