Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.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
n类别Java中的排序ArrayList_Java_Android_Sorting_Arraylist - Fatal编程技术网

n类别Java中的排序ArrayList

n类别Java中的排序ArrayList,java,android,sorting,arraylist,Java,Android,Sorting,Arraylist,我有一个ArrayList类型的ArrayList。这个食品类有两个变量名称和时间,时间可以是早餐,午餐和晚餐。进入ArrayList的数据来自一个JSON,该JSON无论如何都没有对其进行排序。 我想将此列表分为4类。 示例: Rice,breakfast Hotdog, dinner carrot shake, breakfast soup, lunch chocolate, dinner 收件人: 您可以创建一个比较器。例如: Collections.sort(eventList,

我有一个
ArrayList
类型的
ArrayList
。这个
食品
类有两个变量
名称
时间
时间
可以是
早餐
午餐
晚餐
。进入
ArrayList
的数据来自一个
JSON
,该JSON无论如何都没有对其进行排序。
我想将此列表分为4类。

示例:

Rice,breakfast
Hotdog, dinner
carrot shake, breakfast
soup, lunch
chocolate, dinner

收件人:


您可以创建一个
比较器
。例如:

Collections.sort(eventList, new Comparator<Event>() {
        @Override
        public int compare(Event e1, Event e2) {

            return e1.startsOn.compareTo(e2.startsOn);
        }
    });
Collections.sort(eventList,newcomparator(){
@凌驾
公共整数比较(事件e1、事件e2){
返回e1.startsOn.compareTo(e2.startsOn);
}
});
其中:
eventList
是一个
arrayList
,对象类型为
Event
。 您可以使用要比较的对象的属性,仅此而已


致以最诚挚的问候。

您可以创建一个
比较器。例如:

Collections.sort(eventList, new Comparator<Event>() {
        @Override
        public int compare(Event e1, Event e2) {

            return e1.startsOn.compareTo(e2.startsOn);
        }
    });
Collections.sort(foodlist, new Comparator<Food>() {
        @Override
        public int compare(Food f1, Food f2) {
            if (f1.timing.equalsIgnoreCase("") || f2.timing.equalsIgnoreCase(""))
                return -1;
            else if (f1.timing.equalsIgnoreCase("dinner") && f2.timing.equalsIgnoreCase("lunch"))
                return 1;
            else if (f1.timing.equalsIgnoreCase("lunch") && f2.timing.equalsIgnoreCase("dinner"))
                return -1;
            else
                return f1.timing.compareToIgnoreCase(f2.timing);

        }
    });
Collections.sort(eventList,newcomparator(){
@凌驾
公共整数比较(事件e1、事件e2){
返回e1.startsOn.compareTo(e2.startsOn);
}
});
其中:
eventList
是一个
arrayList
,对象类型为
Event
。 您可以使用要比较的对象的属性,仅此而已

致以最诚挚的问候。

Collections.sort(foodlist,new Comparator(){
Collections.sort(foodlist, new Comparator<Food>() {
        @Override
        public int compare(Food f1, Food f2) {
            if (f1.timing.equalsIgnoreCase("") || f2.timing.equalsIgnoreCase(""))
                return -1;
            else if (f1.timing.equalsIgnoreCase("dinner") && f2.timing.equalsIgnoreCase("lunch"))
                return 1;
            else if (f1.timing.equalsIgnoreCase("lunch") && f2.timing.equalsIgnoreCase("dinner"))
                return -1;
            else
                return f1.timing.compareToIgnoreCase(f2.timing);

        }
    });
@凌驾 公共整数比较(食品f1、食品f2){ if(f1.定时.EqualSignalCase(“”)| | f2.定时.EqualSignalCase(“”) 返回-1; else if(f1.定时。等信号情况(“晚餐”)和f2.定时。等信号情况(“午餐”)) 返回1; else if(f1.定时。相等信号情况(“午餐”)和f2.定时。相等信号情况(“晚餐”)) 返回-1; 其他的 返回f1.正时.比较信号案例(f2.正时); } });
Collections.sort(foodlist,new Comparator(){
@凌驾
公共整数比较(食品f1、食品f2){
if(f1.定时.EqualSignalCase(“”)| | f2.定时.EqualSignalCase(“”)
返回-1;
else if(f1.定时。等信号情况(“晚餐”)和f2.定时。等信号情况(“午餐”))
返回1;
else if(f1.定时。相等信号情况(“午餐”)和f2.定时。相等信号情况(“晚餐”))
返回-1;
其他的
返回f1.正时.比较信号案例(f2.正时);
}
});

这不是排序,您基本上想要创建4个类别,即4个列表。因为单个列表如何帮助您确定前2个项目来自第一个类别,后3个来自2个,后10个来自第三个类别,所以on@PavneetSingh这个问题不需要一个以上的列表。如果你想知道排序在这种情况下是如何工作的,那么也可以看看R.Zagórski的链接问题(及其答案)。@Tom我知道它是如何工作的,谢谢,如果排序真的是这里提到的问题,那么更好的优化可以在服务器端完成,也许你想给出逻辑和答案,以支持你的评论。Tomhey先生,如果我在服务器端还是在我的android应用程序上这样做,我们将不胜感激?有什么建议吗@这取决于您希望在这里实现多少不同的排序。如果您在排序中总是需要这个列表,那么最好选择服务器端。如果您选择不同的排序方式,并且排序是客户特定的细节,那么客户应该这样做。这不是排序,您基本上希望创建4个类别,即4个列表。因为单个列表如何帮助您确定前2个项目来自第一个类别,后3个项目来自第2个类别,第三类的下一个10on@PavneetSingh这个问题不需要一个以上的列表。如果你想知道排序在这种情况下是如何工作的,那么也可以看看R.Zagórski的链接问题(及其答案)。@Tom我知道它是如何工作的,谢谢,如果排序真的是这里提到的问题,那么更好的优化可以在服务器端完成,也许你想给出逻辑和答案,以支持你的评论。Tomhey先生,如果我在服务器端还是在我的android应用程序上这样做,我们将不胜感激?有什么建议吗@这取决于您希望在这里实现多少不同的排序。如果您在排序中总是需要这个列表,那么最好选择服务器端。如果您选择不同的排序方式,并且排序是特定于客户端的详细信息,那么客户端应该这样做。嘿,感谢您的快速回复,如果这解决了问题,我将尝试并将其标记为答案:)嘿,感谢您的快速回复,如果这解决了问题,我将尝试并将其标记为答案:)