Java结合ArrayListcontains()和ArrayListremove()
给定一个矩阵ArrayList<Integer>,我经常在我的代码中写
int val = 2;
for(int i = 0 ; i < N ;i++){
if(matrix[i][0].list.contains(val))
matrix[i][0].remove(val);
}
由于这两个.contains()和.remove()在运行O(n)的时候,它让我想知道如果存在这两个语句相结合的方法,或许,从而提高运行时的效率不知何故?我在几天内对此进行了足够的研究,但找不到令人信服的答案。
回答
你根本不需要在contains这里做检查。删除不存在的元素不会导致任何问题。
如果您需要根据它是否包含该元素来做某事(例如,打破循环),那么您可以使用List.remove(Object)它的返回值,如果该元素存在,则返回 true。
例如:
int val = 2;
for(int i = 0; i < N; i++) {
if(matrix[i][0].remove(val)) break;
}
THE END
二维码