Collections.sort()in Java

我在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_) {

...

}

}

}

回答:

尝试此配合:

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

list.add("D");

list.add("B");

list.add("A");

Collections.sort(list);

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

String implements Comparable

回答:

java.lang.Object不是执行可比较。 Collections.sort(List)预计T实施可比。

From Collection.sort(List)

对指定列表按升序进行,根据其元素的 自然排序。列表中的所有元素都必须实现Comparable接口 。

我相信你的代码应该是:

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

回答:

尝试

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

以上是 Collections.sort()in Java 的全部内容, 来源链接: utcz.com/qa/259961.html

回到顶部