gpt4 book ai didi

java - 确定两个数组列表中没有不同项目的代码

转载 作者:行者123 更新时间:2023-12-02 11:08:43 25 4
gpt4 key购买 nike

我有两个数组列表,其定义如下。

ArrayList<String> list1 = new arrayList<String>();
ArrayList<String> list2 = new arrayList<String>();

list1.add("sultan");
list1.add("Masum");
list1.add("sultan");
list1.add("Sorry");
list1.add("sultan");
list1.add("Masum");
list1.add("sultan");
list1.add("Tarek");
list1.add("sultan");

list2.add("Billal");
list2.add("Masum");
list2.add("Sorry");
list2.add("Sorry");
list2.add("sultan");
list2.add("Masum");
list2.add("Tanha");
list2.add("Tarek");
list2.add("Die");

我想知道上面两个 arraylist 的不同项的数量。为此,我有以下代码。

int count=0;
for(String s1:list1)
{
if(!list2.contains(s1))
++count;
}

for(String s2:list2)
{
if(!list1.contains(s2))
++count;
}

但是我的代码效率很低。您能否建议我一个更好的方法来实现我的目的?

最佳答案

您应该使用Set,而不是List。那么你要找的是 Symmetric Difference 。如果允许的话,可以使用Guava的Sets.symmetricDifference(Set, Set)

关于java - 确定两个数组列表中没有不同项目的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21631862/

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