如何在列表列表中查找元素

时间:2019-03-26 19:40:36

标签: java

我有以下列表List<List<Integer>> dar = new ArrayList<List<Integer>>();的列表:

[[0], [1, 2, 0], [2, 1, 0], [5, 0]]

我想检查整数5是否在任何列表中。如果我使用if(dar.contains(5)),它将返回false

我该怎么检查所有列表中是否存在整数?

2 个答案:

答案 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;
        }
    }
}