gpt4 book ai didi

java数组的arraylists

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:07 24 4
gpt4 key购买 nike

我的程序中有四列按钮。分配新按钮时,按钮会在列之间移动。不是声明 4 个单独的数组列表来存储按钮,有没有一种方法可以创建 1 个数组列表,这样我就可以简单地遍历数组?

我试过了 List<JButton>[] lists = new ArrayList<JButton>[5];

但这行不通。我错过了什么?

编辑:

for(int i = 0; i < 5; i++){
if(choiceList.getSelectedIndex() == i){
if(btnPersons[nameList.getSelectedIndex()].getX() == column[i]){
JOptionPane.showMessageDialog(null, "Error - Name already present in the column.","", 1);
}else{
for(int j = 0; j < 5; j++){
if(lists[j].get(i) != null){
lists[j].remove(btnPersons[nameList.getSelectedIndex()]);
}
}
lists[i].add(btnPersons[nameList.getSelectedIndex()]);
lists[i].get(i).setBounds(column[i], ROWS[i], 125, 20);
//reloadLocations();
}
}
}

这是我当前的代码。选择新列后,它会检查按钮所在的列表并将其删除,然后将其添加到新列表中。但我的新问题是使用 lists[i] 将不再有效。不知道如何使用此声明正确循环我的数组列表列表:

List<ArrayList<JButton>> lists = new ArrayList<ArrayList<JButton>>(); 

最佳答案

您必须保留 JButton 对象列表的列表:

List<List<JButton>> lists = new ArrayList<List<JButton>>();
// populate (replace with your code)
lists.add(Arrays.asList(new JButton("list 1, button 1"), new JButton("list 1, button 2")));
lists.add(Arrays.asList(new JButton("list 2, button 3"), new JButton("list 2, button 4")));
lists.add(Arrays.asList(new JButton("list 3, button 5"), new JButton("list 3, button 6")));
lists.add(Arrays.asList(new JButton("list 4, button 7"), new JButton("list 4, button 8")));

// iterate
for(List<JButton> subList : lists) {
for(JButton button : subList) {
System.out.println(button.getText());
}
}

关于java数组的arraylists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7138825/

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