java组合arraylist contains()和arraylist remove()

c8ib6hqw  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(253)

给定一个矩阵 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) 同时,我想知道是否有一种方法可以将这两个语句结合起来,从而以某种方式提高运行时效率?我已经做了足够的研究,在这几天的跨度,我无法找到一个令人信服的答案。

vfhzx4xs

vfhzx4xs1#

你不需要这样做 contains 在这里查一查。删除不存在的元素不会导致任何问题。
如果需要根据元素是否包含元素来执行某些操作(例如,中断循环),那么可以使用 List.remove(Object) 如果元素存在,则返回true。
例如:

int val = 2;
for(int i = 0; i < N; i++) {

    if(matrix[i][0].remove(val)) break;
}

相关问题