我有以下列表List<List<Integer>> dar = new ArrayList<List<Integer>>();
的列表:
[[0], [1, 2, 0], [2, 1, 0], [5, 0]]
我想检查整数5是否在任何列表中。如果我使用if(dar.contains(5))
,它将返回false
。
我该怎么检查所有列表中是否存在整数?
答案 0 :(得分:9)
遍历List
的{{1}},然后调用包含:
List
或使用for(List<Integer> list : dar) {
if(list.contains(5)) {
//...
}
}
:
Stream
答案 1 :(得分:4)
您有列表列表。要搜索任何值,您需要嵌套循环。
public void contains(Integer x){
for (int i= 0; i < dar.size(); i++){
List<Integer> list = dar.get(i);
for(int j= 0; j < list.size(); j++){
if(x == list.get(j)) return true; //will handle both null cases
if( x != null && x.equals(list.get(j)) return true;
}
}
}