【发布时间】:2012-03-01 16:31:09
【问题描述】:
我有复杂的对象
class Person{
Integer id;
String fname;
String lname;
//..... there are more attributes
List<Address> addresses;
}
class Address{
String street1;
String street2;
String city;
String state;
String zip;
}
我有大约 30000 个人 个对象,每个对象至少有 200-500 个子对象(地址)。现在我拥有所有这些内存,并且我有不同的场景(20-30 个场景),我必须根据场景中可用的过滤器查询/过滤对象。例如。
- scen1 -> 获取所有具有 lname = 'zoik' 的对象
- scen2 -> 获取所有具有 lname = 'smark' 和 address.street1 = "xyz" 的对象
- scen3 -> 获取所有具有 lname = 'smark' 和 address.street1 = "xyz" 和 address.street1 = "pqr" 的对象(记住每个对象都有多个地址,所以我需要两个地址都满足上述条件的对象.)
- scen4 -> 获取所有具有 fname= "smith" 和 lname = 'smark' 和 address.city="Los Angeles" 的对象
- .....
简而言之,两个对象的不同组合有多种场景。 请建议在这种情况下使用番石榴的最佳方法?
【问题讨论】:
标签: java collections guava