我有一个二维数组列表
List<List<String>> movies_info = new ArrayList<>();
我填充创建新行
movies_info.add(new ArrayList<String>());
并添加元素
movies_info.get(i).add(title);
。 我希望能够检查我要添加的元素是否已存在于整个 ArrayList 中。不使用下面的for.loop是否可以达到这个结果?
boolean found = false;
for (int i = 0; i < movies_info.size(); i++) {
if(movies_info.get(i).contain(title)) {
found = true;
}
if (!found) {
movies_info.add(new ArrayList<String>());
movies_info.get(i).add(title);
}
最佳答案
您可以将第二个 ArrayList
替换为 HashMap并检查它是否已经存在。
movies_info.add(new HashMap<String,String>());
if (!movies_info.get(i).containsKey(title)){
movies_info.get(i).put(title,title);
}
在 HashMap
中搜索键以及添加新元素都具有恒定的时间复杂度O(1)
要稍后获取值,您可以使用此代码
for (String title : movie_info.get(i).keySet()){
// Use title
}
关于java - 在二维ArrayList中查找某个值/元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35370157/