java - 基于多个条件排序并使用java中的其他列表

标签 java sorting conditional-statements

我有

class cluster{
    string name;
    string id;
    list<Feature> flist;
}

class Feature{
    string name;
    string id;
}

集群可以有多个 Feature 列表

现在我有 Feature 的列表说list<Feature> list={f1,f2,f3,f4} ,这个Feature对象可以分布在不同的cluster对象,有些可能不属于任何 cluster .

我有集群列表,我必须根据 Feature 列表进行排序我有。

input:
cluster1-f2,f6,f7
cluster2-f3,f4,f5
cluster3-f9,f8
cluster4-f1,f10
cluster5-f11,f12



 output:
 cluster4-f1,f10
 cluster1-f2,f6,f7
 cluster2-f3,f4,f5
 cluster3-f9,f8
 cluster5-f11,f12

请帮我排序cluster基于给定 Feature 的对象列表。

最佳答案

我不是 Java 专家,但以下是我对自定义对象数组进行排序的方法。在我的示例中,我有一个 Card 对象数组,可以调用 sortByInterval 对数组进行排序(不返回新数组)。在 Comparator 类中,您返回 -1、1 或 0,以便您可以添加需要比较的任何代码。

public static void sortByInterval (ArrayList<Card> array) {
    Collections.sort(array, new SortByIntervalComparator());
}

private static class SortByIntervalComparator implements Comparator<Card> {
    public int compare(Card card1, Card card2) {

        if (...) return -1      // -1: obj1 first
        else if (...) return 1; // 1: obj2 first
        else return 0;      // equal sort
    }
}

关于java - 基于多个条件排序并使用java中的其他列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35306724/

相关文章:

java - 带有 ServletContextListener 的线程池

asp.net - 我无法使我的 gridview 的标题可以点击进行排序

arrays - Swift:使用备用键的合并排序算法

hyperlink - 如何使 WIX 安装程序适应可用的 Windows Installer 版本 - 例如超链接控件

c - 与 ">"比较时,while 循环条件从不评估为真

java - 在 android 的 url 中使用字符串变量代替 ip 地址?

java - 将链接/ Assets 插入 Tapestry 5 中的本地化消息中

java - 无法实例化数据源

Python如何使用浮点值对列表进行排序

r - 根据条件从r中的多个列中删除重复的行