gpt4 book ai didi

Java 结合 ArrayList contains() 和 ArrayList remove()

转载 作者:行者123 更新时间:2023-12-04 00:50:15 26 4
gpt4 key购买 nike

给定一个矩阵 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) 的返回值,如果元素存在。

例如:

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

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

关于Java 结合 ArrayList contains() 和 ArrayList remove(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67235856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com