Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中基于多条件和使用其他列表的排序_Java_Sorting_Conditional Statements - Fatal编程技术网

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

java中基于多条件和使用其他列表的排序,java,sorting,conditional-statements,Java,Sorting,Conditional Statements,我有 请帮助我根据给定的功能列表对集群对象进行排序。我不是Java专家,但下面是我如何对自定义对象数组进行排序的。在我的示例中,我有一个Card对象数组,可以调用sortByInterval对数组进行排序(而不返回新数组)。在Comparator类中,您可以返回-1、1或0,以便添加需要比较的任何代码 input: cluster1-f2,f6,f7 cluster2-f3,f4,f5 cluster3-f9,f8 cluster4-f1,f10 cluster5-f11,f12 out

我有


请帮助我根据给定的
功能
列表对
集群
对象进行排序。

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

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
publicstaticvoidsortbyinterval(arraylistarray){
sort(数组,新的SortByIntervalComparator());
}
私有静态类SortByIntervalComparator实现Comparator{
公共整数比较(卡卡1、卡2){
if(…)首先返回-1/-1:obj1
else if(…)首先返回1;//1:obj2
else返回0;//相等排序
}
}

这不是编码编写服务,您尝试过什么?使用comperator是设置订单的正确方法!
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
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
    }
}