以下是在LinkedList中查找排序索引的一种方法。
import java.util.*;
public class SortedLinkedListDemo {
public static void main (String [] args) {
List<String> list = new LinkedList<String>();
list.add ("Dusty");
list.add ("Gordon");
list.add ("Mayer");
list.add ("Popovic");
list.add ("Zechariah");
list.add (getSortedIndex ("Nyugen", list), "Nyugen");
System.out.println ("List: "+list);
}
private static int getSortedIndex (String name, List<String> list) {
for (int i=0; i < list.size(); i++) {
if (name.compareTo(list.get(i)) < 0) {
return i;
}
}
// name should be inserted at end.
return list.size();
}
}
这会给下面的输出:
列表:尘土飞扬,戈登,迈耶,Nyugen,波波维奇,撒迦利亚]
链表不会做这个,但是PriorityQueue会。请参阅http://stackoverflow.com/questions/416266/sorted-collection-in-java – lreeder