Java - 对象列表。在字段中查找具有特定值的对象

问题描述:

我有两个对象列表。每个列表中的对象都是同一个类的不同子类。Java - 对象列表。在字段中查找具有特定值的对象

我想查看列表中的对象一,检查特定字段的值,然后查看列表中是否有任何对象具有相同的字段值。什么是最好的方法来做到这一点?

+1

选项A)从[谷歌番石榴]使用'Iterables.any'(http://docs.guava-libraries.googlecode.com/git/javadoc/index.html)。选项B)使用嵌套的for-loops。 – 2012-07-13 19:42:13

+1

如果有人要求“最好”的方式,很难回答。你想要最高性能,最可读,最简单,最短,最美丽的解决方案吗?你有很大的名单,你期望做这种查找数千次或只是一次? – 2012-07-13 20:12:00

我相信这样更准确。这是实现最简单,最简单的解决方案。

for(TypeA itemA : listA) { 
    for(TypeB itemB : listB) { 
     if(itemA.field == ItemB.otherField) { 
      //Do Whatever 
     } 
    } 
}