组合两个不同对象类型的列表并对组合列表进行排序

新玩家

为了简单起见,我试图将两个不同对象的列表组合在一起,我将它们称为List<A>List<B>最后按它们的日期值对组合列表进行排序。我在这里看到了大部分答案,但它们没有展示如何正确实现此类用例的全貌。

我用一种String getDate()方法创建了一个接口这样我Class AClass B两个 imeplement 说接口。

 public interface CustomInterface {

    String getDate();

}

然后我创建了一个 CustomComparator 类:

    public class CustomComparator implements Comparator<CustomInterface> {
    
     @Override
     public int compare(CustomInterfacet1, CustomInterface t2) {
        return t1.getDate().compareTo(t2.getDate());
     }
    }

我还实现了一个自定义类,它处理两个给定列表的合并和排序。我们将称之为Class Merge使用下面实现的方法。

public List<Object> sortedAndMergedData(List<A> a, List<B> b) {

    List<Object> x= new ArrayList<>();
    x.addAll(a);
    x.addAll(b);
    Collections.sort(x, new CustomComprator());
    return x;

}

这就是问题所在,因为我收到一个错误,“原因:不存在类型变量的实例,因此对象符合接口” Collections.sort(x, new CustomComprator());

左撇子

更改List<Object> List<CustomInterface>

List<Object> x= new ArrayList<>();

前提是你AB班级implements CustomInterface

public List<CustomInterface> sortedAndMergedData(List<A> a, List<B> b) {

    List<CustomInterface> x= new ArrayList<>();
    x.addAll(a);
    x.addAll(b);
    Collections.sort(x, new CustomComprator());
    return x;

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

组合两个不同的数组列表并根据时间排序

组合两个不同案例类类型的列表

将具有不同对象类型的两个不同数组合并为一个

如何通过将每个列表中的一个元素组合在一起,将两个不同对象的列表组合为一个列表?

对两个不同类对象的列表进行排序

如何合并两个不同对象的列表?

如何合并两个不同对象的列表?

xmlSerialize不同对象的两个列表

基于java 8中的匹配属性比较两个不同对象类型的列表

C#-将多对多对象列表放到两个对象列表的不同组合列表中

不同长度的两个列表的循环组合

从两个列表中查找不同的组合

测试两个类型列表中的所有组合

C#采用两个不同对象的列表来构造新的对象列表

按名称比较两个对象列表并获取不同对象的列表

按某些两个字段比较不同对象的两个列表

GSON 反序列化同一列表中的两个不同对象类型

使用 Java 8 Stream API 将 2 个不同对象的列表组合成单个对象的列表

将来自两个不同对象键的值组合为一个对象键值

交替组合两个列表

两个列表之间的组合?

迭代两个列表并组合项目

来自两个列表的元素的组合

两个列表之间的异类组合

python中两个列表的组合

如何从两个不同对象列表中获取不常见对象

从列表中的两个不同对象返回LINQ select查询中的特定对象

对具有不同对象的数组列表进行排序

如何通过两个不同的键对列表进行排序?