在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
?
答案 0 :(得分:4)
只需遍历所有列表并询问是否有任何列表包含您的值。
public boolean contains(int x, ArrayList<ArrayList<Integer>> listOfLists) {
for (ArrayList list: listOfLists) {
if (list.contains(x)) return true;
}
return false;
}
但是,我同意radai。可能需要更高效的数据结构而不是有效的算法