[List排序报错 - Comparison method violates its general contract!]
在JDK1.7之后,ArrayList的默认排序方式做了修改,使用TimeSort排序算法来排序但是,此排序算法比老版本的算法多了如下几个限制条件,如果不注意,排序可能会抛异常1.自反性,compare(x,y)=-compare(y,x)2.传递性,如果compare(x,y)>0,compare(y,z)>0,则必须保证compare(x,z)>03.对称性,如果compare(x,y)==0