2013-02-26 34 views
1

我在LinkedList中写了一个sortedAdd(T node)方法。如何将node.key_current.key_进行比较?我不能使用<(升序),因为它是通用的。Collections.sort()in Java

public void sortedAdd(T node){ 
    ... 
    Node<T> current = header; 
    while (current != null) { 
    if (node.key_ < current.key_) { 
     ... 
    } 
    } 
} 
+1

变化呢? – 2013-02-26 08:42:40

回答

3

尝试此配合:

List<String> list = new ArrayList<String>(); 

list.add("D"); 
list.add("B"); 
list.add("A"); 

Collections.sort(list); 

为了解释,参数类型(该一个中尖括号)必须实现的接口Comparable

String implements Comparable

0

尝试

List<String> unsortList = new ArrayList<String>(); 

unsortList.add("CCC"); 
unsortList.add("111"); 
unsortList.add("AAA"); 
unsortList.add("BBB"); 
unsortList.add("ccc"); 
unsortList.add("bbb"); 
unsortList.add("aaa"); 
unsortList.add("333"); 
unsortList.add("222"); 

//sort the list 
Collections.sort(unsortList); 
System.out.println("ArrayList is sorted"); 
    for(String temp: unsortList){ 
System.out.println(temp); 
    } 

输出

ArrayList is sorted 

111 
222 
333 
AAA 
BBB 
CCC 
aaa 
bbb 
ccc