如何比较两个列表,如果值不相同,则添加到另一个列表



我有3个列表

final List<Locais> list1 = new ArrayList<>();
final List<Locais> list2 = new ArrayList<>();
final List<Locais> finallist = new ArrayList<>();

将list1中的值添加到最后一个

for (Locais locais : list1) {
String name = locais.getName();
finallist.add(locais);
}

现在我想将list2与finallist进行比较。如果列表2中的值不存在于最终列表中,请将其添加到最终列表中。我该怎么做?

您可以用一种干净的方式来完成,创建一个名为differences的列表。使用所有list2元素对其进行初始化,然后移除finallist具有的所有元素,可以使用List API中的removeAll方法进行初始化。这使得它包含list2finallist之间的差异,然后迭代这些差异并将它们推送到finallist中。

List<String> differences = new ArrayList<>(list2);
differences.removeAll(finallist);
for(Locais locais : differences){
finallist.add(locais)
}

有关removeAll的更多信息,请检查:https://docs.oracle.com/javase/8/docs/api/java/util/List.html#removeAll-java.util.Collection-

为list2中的每个元素运行一个增强的for循环。在for循环中有一个if。如果finallist.contents(locais(然后finallist.add(locais(

希望这能帮助萌芽

相关内容

  • 没有找到相关文章

最新更新