我有2 ArrayLists
个自定义对象。我正在制作一个嵌套循环来比较它们并找到匹配。
然而,有什么更好的吗?我读了一些关于原始类型retainAll
的内容,但我找不到如何在这里应用它的方法。我也读过有关覆盖equals()
的内容,也无法获得,因为这是两个不同的对象。
for (String email : emailsOfContactsWhoFitDynConFilter) {
for (Contact contact : emailClicks.items) {
if (email.equals(contact.EmailAddress) && (contact.link).split("\\?")[0].equals(linkInDynamicContent.split("\\?")[0])) {
count++;
break;
}
}
答案 0 :(得分:0)
我不会假装这是最有效的方式,但我会这样做:
Set<String> emails = new HashSet<>(emailsOfContactsWhoFitDynConFilter);
String token = linkInDynamicContent.split("\\?")[0];
int count = items.stream().parallel()
.filter(contact -> emails.contains(contact.EmailAddress))
.filter(contact -> contact.link.split("\\?")[0].equals(token))
.count();