java - 在java中对数组进行排序

标签 java

我有一个时间范围,我想根据开始时间对时间进行排序 例如:

Range = {[3,5] , [1,10] ,[6,7] ,[4,10]}
After sorting
{ [1,10] , [3,5] , [4,10] , [6,10]}

如何使用 Collections.sort 或任何其他方法来完成。
我是否必须定义一个类来排序,即

class interval{
int start;
int end;
}

我有上面的结构,我想根据开始对它进行排序;
即 Collections.sort(interval)//相对于开始;

最佳答案

使用 Collections.sort与自定义 Comparator<T> :

Collections.sort(times, new Comparator<interval>() {
    public int compare(interval a, interval b) {
        int res = Integer.compare(a.start, b.start);
        if (res != 0) return res;
        return Integer.compare(a.end, b.end);
    }
});

另一种编码方式是实现 Comparable<T> interval 中的界面类。

关于java - 在java中对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25938973/

相关文章:

java - ListView 致命异常 : main java. lang.NullPointerException

java - java中方法中可变数量整数的参数

Java EE : how to get the URL of my application?

java - 如何访问位于jar的 'META-INF/resources'文件夹中的jsp页面中的Exception对象?

java - 字符串常量池

java - 如何读取 Amazon S3 中的文件内容

java - 如何修复工具栏在选择另一个选项卡之前不更改标题的问题?

Java try-catch 使用 do-while 循环进行输入验证

java - @JsonUnwrapped 的 Jackson 反序列化等价物是什么?

java - 僵尸异常幸存被捕获