有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案