我有一个场景,我需要维护一个列表列表并根据它进行一些操作。我正在尝试获取以下类型的列表:
[{peter,se,red},{peter,da,red},{mark,se,red}]
我首先创建一个列表来获取值,然后将此列表插入到列表列表中(如果它尚不存在)。例如,如果 {peter,se,red} 再次出现,则不应插入。提供了以下代码片段:
ArrayList<ArrayList<String>> listOfList = new ArrayList<ArrayList<String>>();
ArrayList<String> singleList = new ArrayList<String>();
void someFunction() {
singleList.add("val1");
singleList.add("val2");
singleList.add("val3");
if(listOfList.containsAll(singleList)) {
<<some operation>>
} else {
listOfList.add(singleList);
<<some operation>>
}
//clearing the list, so it can be freshly used
//upon successive invocation of the function
singleList.clear();
现在,即使我两次传递同一个列表,系统也只会坚持其他部分。有人可以告诉我哪里出了问题吗?另外,还有其他更好的方法来实现这个任务吗?
最佳答案
您可以使用HashSet<ArrayList<String>>
,也许这会起作用?或者您可以使用.contains()
检查 List 是否包含该元素而不是 containsAll 的方法
关于java - 如何在Java中的列表列表中插入和检查列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42307224/