[list]
[*]数组的比较:Arrays.sort()方法要求数组元素必须实现Comparable接口,该接口只有一个方法int compareTo(Object obj)。如果数组元素为实现Comparable接口而调用Arrays.sort()方法,将抛出ClassCastException异常。
[*]如果对象已经被某人实现了Comparable接口,并且实现的方式不是你所喜欢的,那么你可以让该元素对象实现Comparator接口,有两个方法compare()和equals()。
[*]另外,Collections.reverseOrder()方法会产生一个Comparator,它可以反转自然的排序顺序。reversOrder()方法也可以接受一个Comparator接口类型的参数,根据Comparator的比较结果进行逆序排序。注意:Comparable和Comparator都是泛型接口。Comparator接口可以通过匿名内部类实现之。
[*]java类库中的排序方法:对基本数据类型采用快排实现,对于引用数据类型采用稳定归并排序,所以不用担心起性能,除非能证明是排序引发了性能问题。
[*]尽量的使用容器,而不是数组
[*]注意Arrays类提供的工具方法:fill,sorts,toString,
[/list]
[*]数组的比较:Arrays.sort()方法要求数组元素必须实现Comparable接口,该接口只有一个方法int compareTo(Object obj)。如果数组元素为实现Comparable接口而调用Arrays.sort()方法,将抛出ClassCastException异常。
[*]如果对象已经被某人实现了Comparable接口,并且实现的方式不是你所喜欢的,那么你可以让该元素对象实现Comparator接口,有两个方法compare()和equals()。
[*]另外,Collections.reverseOrder()方法会产生一个Comparator,它可以反转自然的排序顺序。reversOrder()方法也可以接受一个Comparator接口类型的参数,根据Comparator的比较结果进行逆序排序。注意:Comparable和Comparator都是泛型接口。Comparator接口可以通过匿名内部类实现之。
[*]java类库中的排序方法:对基本数据类型采用快排实现,对于引用数据类型采用稳定归并排序,所以不用担心起性能,除非能证明是排序引发了性能问题。
[*]尽量的使用容器,而不是数组
[*]注意Arrays类提供的工具方法:fill,sorts,toString,
[/list]