似懂非懂 Comparable和 Comparator
在java中提供了两种排序方式:Comparable和 Comparator,它们两个看起来非常的相似,在不是很了解的情况下不知道如何使用,什么情况下使用哪个进行排序,接下来就看下它们的一个区别和使用方式: Comparable 首先看下Comparable,Comparable 它可以看成是一个排序接口,一个类实现了该接口,就表示该类本身具有排序的功能,如果对该类的集合或者数组进行排序,则可以使用Collections.sort() 和Arrays.sort() 进行排序而不用再指定额外的比较器; 此外,实现了该接口的类,也可以作为 SortedMap 和 SortedSet 的 key 也不用再指定额外的比较器,但是,如果需要把实现了该接口的类当作 SortedMap 的 Key 或者 放入到 SortedSet 中,需要保证e1.compareTo(e2) == 0 和 e1.equals(e2) 相等, 但是有一点需要注意的是:因为e.equal(null) 会返回false,所以,当我们需要比较的对象为 null 的时候,应该抛出一个 空指针异常。 接下来看下Comparab...