gpt4 book ai didi

java - 从 ArrayList 中删除对象而不(隐式)循环遍历它

转载 作者:行者123 更新时间:2023-12-01 21:44:33 25 4
gpt4 key购买 nike

我正在循环遍历列表A来查找X。然后,如果找到X,则将其存储到列表B中。之后,我想从列表A中删除X。因为速度对我的应用程序来说是一个重要问题,我想从 A 中删除 X,而不循环遍历 A。这应该是可能的,因为我已经知道 X 在 A 中的位置(我在第一行中找到了它的位置)。我怎样才能做到这一点?

for(int i = 0; i<n; i++) {
Object X = methodToGetObjectXFromA();
B.add(X);
A.remove(X); // But this part is time consuming, as I unnecessarily loop through A
}

谢谢!

最佳答案

您可以返回其索引,然后按索引删除,而不是从 yhe 方法返回对象:

    int idx = methodToGetObjectIndexFromA();
Object X = A.remove(idx); // But this part is time consuming, as I unnecessarily loop through A
B.add(X);

但是,请注意,由于数组元素可能会移动,remove 方法可能仍然很慢。

关于java - 从 ArrayList 中删除对象而不(隐式)循环遍历它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100523/

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