搜索ArrayLists的ArrayList

时间:2013-12-16 17:56:35

标签: java arrays arraylist

ArrayList ArrayLists中搜索单个元素的最有效方法是什么?鉴于以下内容:

ArrayList<ArrayList<Integer>> intList = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> a = new ArrayList<>();
a.add(1);
a.add(2);
ArrayList<Integer> b = new ArrayList<>();
b.add(3);
b.add(4);
intList.add(a);
intList.add(b);

如何搜索ArrayList intList是否包含特定Integer,例如3

1 个答案:

答案 0 :(得分:4)

只需遍历所有列表并询问是否有任何列表包含您的值。

public boolean contains(int x, ArrayList<ArrayList<Integer>> listOfLists) {
    for (ArrayList list: listOfLists) {
        if (list.contains(x)) return true;
    }
    return false;
}

但是,我同意radai。可能需要更高效的数据结构而不是有效的算法