黑马程序员 java 集合框架中的排序问题
compareTo()方法:如果排序过程中当前实例出现在参数前,就返回某个负值。如果当前实例出现在参数后,则返回正值。否则,返回零。这里不要求零返回值表示元素相等。零返回值只是表示两个对象排在同一个位置。
Java1.6中实现了Comparable接口的类大概有50左右个。
另外,“集合框架”提供了两个特殊的接口:SortedSet接口 和 SortMap接口接口为集的子集和它的两端(即头和尾)提供了访问方法。
从treeSet类的定义中可以发现,TreeSet中实现了SortedSet接口.
添加到SortedSet中的元素必须实现Comparable接口。或者你必须给他的实现类的构造函数提供一个Comparator(上面那个实例就是这样呀)。
如果添加元素时比较两个元素导致了零返回值,那么新元素就没有添加进去。
用来保持键Key的有序。和上面的SortedSet接口类似,为映射的子集包括两个端点提供了访问方法。
TreeMap中实现了SortMap接口。
如果在添加一个键-值对时比较两个键产生了零返回值,那么,原始键对应值被新的值替代。