我有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
方法进行初始化。这使得它包含list2
和finallist
之间的差异,然后迭代这些差异并将它们推送到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(
希望这能帮助萌芽