Java-列表LocalTime的排序列表

Java-列表LocalTime的排序列表,java,list,sorting,Java,List,Sorting,我想用stream()对列表进行排序 这就是列表的样子: [[21:29,22:29],[16:29,17:29]] 我希望清单是这样的 [[16:29,17:29],[21:29,22:29]] 您可以按照中所述定义比较器并执行排序 演示: import java.time.LocalTime; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.st

我想用
stream()
列表进行排序

这就是
列表的样子:

[[21:29,22:29],[16:29,17:29]]
我希望清单是这样的

[[16:29,17:29],[21:29,22:29]]

您可以按照中所述定义比较器并执行排序

演示:

import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.IntStream;

public class Main {

    public static void main(String args[]) {
        List<List<LocalTime>> list = 
            new ArrayList<>(List.of(
                    new ArrayList<>(List.of(LocalTime.of(21, 29), (LocalTime.of(22, 29)))),
                    new ArrayList<>(List.of(LocalTime.of(16, 29), (LocalTime.of(17, 29))))
            ));

        Comparator<List<LocalTime>> comparator = 
            (list1, list2) -> 
                            IntStream.range(0, list1.size())
                                     .map(i -> list1.get(i).compareTo(list2.get(i)))
                                     .filter(value -> value != 0)
                                     .findFirst()
                                     .orElse(0);
        
        list.sort(comparator);

        System.out.println(list);
    }
}
[[16:29, 17:29], [21:29, 22:29]]

到目前为止你试过什么?到目前为止你试过什么?逻辑又是什么呢?你有一个列表,那么你如何在它们之间排序呢?这是一个列表列表。你不仅没有自己努力解决这个问题,甚至连你的要求都不清楚。你希望列表如何排序?对于像
[[1,3],[2,4]]
这样的东西,您希望的顺序是什么?词汇的?一般?