gpt4 book ai didi

java - 我无法获得两个 arrayList 的并集

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

public static <E> ArrayList<E> union
(ArrayList<E>array1, ArrayList<E>array2)
{
//arrayUnion will be the arrayList that will be returned
ArrayList <E> arrayUnion = new ArrayList <E>(array1);
arrayUnion.addAll(array2);
E current;

for(int i = 0; i < arrayUnion.size(); i++)
{
for(int j = 0; j < arrayUnion.size(); j++)
{
current = arrayUnion.get(i);
if(current.equals(arrayUnion.get(j)))
{
arrayUnion.remove(j);
}
}
}

return arrayUnion;
}

对于我对此方法的测试,这是输出:

The first list is [ww, ee, rr, t, yy]

The second list is [ww, ss, ee, dd]

The union of both ArrayLists is: [ee, t, ww, dd]

出了什么问题..?我已经在这个问题上坚持太久了,我再也不想听到联盟这个词了。请帮忙

最佳答案

您可以使用Set来获取并集,这样可以更好地处理它。您唯一应该注意的是它可能会改变元素的顺序。

这是一个例子:

    List<String> setA = new ArrayList<String>();
List<String> setB = new ArrayList<String>();

setA.add("aa");
setA.add("bb");
setA.add("cc");

setB.add("dd");
setB.add("ee");
setB.add("ff");

Set<String> union = new HashSet<String>();
union.addAll(setA);
union.addAll(setB);

System.out.println(setA);
System.out.println(setB);
System.out.println(union);

关于java - 我无法获得两个 arrayList 的并集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12831759/

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