【发布时间】:2012-02-12 01:15:34
【问题描述】:
我有两个 Pojo 类,具有不同的字段和唯一的 ID。
我想执行两个 List<A> 和 List<B> 的交集。
什么是最好的方法。一个是我可以简单地迭代两次,但是复杂度太高了 n2。
有更好的方法吗?我可以用 Comparator 做吗?
Class A {
Id, Name ,DOB}
Class B{
id, aid ,location }
我有 A 列表和 B 列表
现在想要获取位置在 B 中的 A 列表
【问题讨论】:
-
您的列表是否已排序(在 id/Id 上)?
-
@Bohemian、
Set和List并不完全相同。 -
不,我从来没有说过我想和 Set 一起做。 No List 未排序。
-
@Paul 为此目的:只需使用
new HashSet<?>(list)x 2 即可。