2011-06-01 316 views

回答

1

只是实现Comperator和使用Arrays.sort()你认为

0

您可以创建一个类

class Foo { 
int no; 
String val; 
} 

Collections.sort(listOfFoo,new Comparator<Foo>(){public int compare(Foo f1, Foo f2){ 
//your logic goes here 
}}); 
+1

不应该是compare()而不是compareTo()? – amit 2011-06-01 09:03:13

+0

@amit,是“Comparable”和这个 – 2011-06-01 09:04:07

+0

之间的混淆帮助干杯,只是不得不重构arraylist使用调用排序列表。 > listname.SortedArray(); – daverocks 2011-06-01 13:25:34

2

如果节点实现java.lang.Comparable,您可以定义自定义排序。如果您无法更改/修改节点类,那么您可以实现java.util.Comparator,并使用Collection.sort(List<T> list, Comparator<? super T> c) 来自Bloch的Effective Java具有关于此主题的出色部分。

+0

干杯的帮助,只需重构arraylist使用调用排序列表。 > listname.SortedArray(); – daverocks 2011-06-01 13:25:55