我先有两张单子 List<ClassOne>
第二个呢 List<ClassTwo>
. classone具有以下字段:
一级:
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Builder
public class ClassOne {
private Integer idToInsert;
private String fieldToCompare;
private List<AnotherClass> anotherClass;
}
Class2有以下字段:
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Builder
public class ClassTwo {
private Integer idToInsert;
private String fieldToCompare;
}
我有两张单子 List<ClassOne>
以及 List<ClassTwo>
. ClassTwo
包含 idToInsert
字段,必须插入 ClassOne
,当 fieldToCompare
字段在两个类中是相同的。
像这样的
if(classtwo.getFieldToCompare.equals(classOne.getFieldTocompare){
classOne.setIdToInsert(classTwo.getIdToInsert());
}
我如何比较这两个列表?
1条答案
按热度按时间iqjalb3h1#
我建议收集
List<ClassTwo>
进入Map<String,Integer>
哪个是Map(fieldToCompare, idToInsert)
为了获得更好的性能现在就用
forEach
在classListOne
```classListOne.forEach(one -> one.setidToInsert(classTwoMap.getOrDefault(one.getFieldTocompare(),one.getIdToInsert())));