谢谢你留下时光匆匆
Java自定义类比较的代码片段

最近在Java开发过程中,需要取自定义数据类中域的最大/最小值,这里贴一下我的代码片段,方便以后遇到类似需求时候复用。

主要用到Collections.max()方法和Comparator的重写。

关于Comparator顺便批注一点:Comparator的设计是Comparator类独立与需要比较的类之外的,不是在类里面写入类似的Compare()方法。

1
2
3
4
5
6
int maxValue = Collections.max(listToBeCompared, new Comparator<YourDataType>() {
    @Override
    public int compare(YourDataType o1, YourDataType o2) {
    return o1.getSomeValue() < o2.getSomeValue() ? -1 : 1;
    }
}).getSomeValue();