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


以上是Java结合ArrayListcontains()和ArrayListremove()的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>