Java中对List<E>按E的属性排序的简单方法

这是LeetCode上的题目56. Merge Intervals中需要用到的,

简单来说,定义了E为

/**
 * Definition for an interval.
 * public class Interval {
 *     int start;
 *     int end;
 *     Interval() { start = 0; end = 0; }
 *     Interval(int s, int e) { start = s; end = e; }
 * }
 */

同时一个List

List<Interval> intervals

需要按照Interval中start参数的大小进行排序,看起来很复杂,其实就只要一句话:

intervals.sort((i1, i2) -> Integer.compare(i1.start, i2.start));

意思大家都能看出来,重写了compare方法,很简单,写这个也是为了自己之后使用的时候能够方便查找。

原文地址:https://www.cnblogs.com/winterfells/p/7986025.html