遇到了一个小问题,我不完全确定为什么这段代码不起作用。
我有一个二维数组列表:
List<List<String>> matrix = new ArrayList<List<String>>();
我有一个按钮,可以根据用户输入将数组列表添加到矩阵中。但在添加用户输入之前,我需要按钮来搜索该字符串是否已存在。 我的代码不会产生任何错误,但除了第一个元素之外,它似乎无法区分现有字符串和不存在字符串。它会添加用户输入的所有内容,无论其是否存在。此外,只有当矩阵数组中已经有一些元素时,代码才会起作用,如果矩阵为空,则代码根本不起作用。我做错了什么?
String name = NameTXT.getText();
String amount = CountTXT.getText();
for (int i = 0; i < matrix.size(); i ++){
String search = matrix.get(i).get(0);
if (name.equals(search)){
OutputTXT.setText("Item already exists");
break;
} else {
List<String> col = new ArrayList<String>();
col.add(name);
col.add(amount);
matrix.add(col);
OutputTXT.setText(amount +" "+ name +" added");
break;
}
}
最佳答案
中断;意味着你完全停止了 for 循环。如果您只想转到矩阵中的下一项,可以使用 continue。
关于java - 使用 for 循环和 if 语句将字符串添加到 2D Arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13835314/