gpt4 book ai didi

java - 比较2 ArrayList java

转载 作者:行者123 更新时间:2023-12-05 09:04:19 24 4
gpt4 key购买 nike

我有以下数组列表

cd1 = [3,5,7,10,15,16]
cd2 = [4,10,5,8]

输出

[3,7,15,16]

如您所见,一个有 6 个位置,另一个有 4 个。

那么如果它们被重复,它们应该存储在另一个 ArrayList 中

我携带的代码:

import java.util.ArrayList;

public class inexistentes {

public static ArrayList<Integer> inexistentes(ArrayList<Integer> cd1, ArrayList<Integer> cd2){
ArrayList<Integer> newList = new ArrayList<>();

for(int i = 0; i < cd1.size(); i++){

if(cd1.contains(i) ){
newList.add(i);
}

}

return newList;
}
}

我怎样才能买到那些链条...

我已经有了 for,但我不知道如何实现 if。

最佳答案

您不需要应用复杂的逻辑。使用 List#removeAll 可以轻松满足您的要求功能。

import java.util.ArrayList;
import java.util.List;

public class Main {
public static void main(String[] args) {
List<Integer> cd1 = List.of(3, 5, 7, 10, 15, 16);
List<Integer> cd2 = List.of(4, 10, 5, 8);
List<Integer> result = new ArrayList<Integer>(cd1);
result.removeAll(cd2);
System.out.println(result);
}
}

输出:

[3, 7, 15, 16]

但是,如果您仍想按自己的方式进行,请按以下方式进行:

import java.util.ArrayList;
import java.util.List;

public class Main {
public static void main(String[] args) {
List<Integer> cd1 = List.of(3, 5, 7, 10, 15, 16);
List<Integer> cd2 = List.of(4, 10, 5, 8);
System.out.println(inexistentes(cd1, cd2));
}

public static ArrayList<Integer> inexistentes(List<Integer> cd1, List<Integer> cd2) {
ArrayList<Integer> newList = new ArrayList<>();

for (int i = 0; i < cd1.size(); i++) {
int n = cd1.get(i);
if (!cd2.contains(n)) {
newList.add(n);
}
}

return newList;
}
}

关于java - 比较2 ArrayList java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68867270/

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