java只使用类属性jdk1的子集过滤ArrayList中的重复项。6.
建议使用什么算法来过滤ArrayList中的重复项,从而构成重复项的条件来自SomeClass属性子集上的条件操作?此外,过滤后的集合必须保留原始列表中剩余元素的顺序
例如
public class SomeClass {
private String a;
private String b;
private String c;
private String d;
}
重复项是列表中的两个实例: 有异议1。getA()。等于(object2.getb()。成员c和d不感兴趣
SomeClass是第三方库的一部分,因此不可修改
不幸的是,jdk1。6将被使用,因此没有溪流可用,但番石榴是
该类有十几个字符串成员,列表包含数千万个对象
我研究了提供一个包装器类来提供定制的equals()和hashCode(),并在LinkedHashSet中使用它<>;,然而,如果提供了额外的对象,那么垃圾收集的操作成本相当高
使用带有比较器的树集稍微好一点,但需要额外的迭代才能使新集合恢复有序
我对其他选择感兴趣
共 (0) 个答案