TreeSet类与散列集十分类似,不过,它比散列集有所改进。树集是一个有序集合(sorted collection)。可以以任意顺序将元素插入到集合中。在对集合进行遍历时。每个值将自动地按照排序后的顺序呈现。
SortedSet<Item> pq = new TreeSet<Item>();
pq.add(new Item("Toaster",1234));
pq.add(new Item("Widget",4562));
pq.add(new Item("Modem",9912));
pq.add(new Item("HuangYin",9916));
SortedSet<Item> sortByDescription = new TreeSet<Item>(new Comparator<Item>(){
public int compare(Item a,Item b){
String descA = a.getDesc();
String descB = b.getDesc();
return descA.compareTo(descB);
}
});
sortByDescription.addAll(pq);
System.out.println(sortByDescription);
}
}
class Item implements Comparable<Item>{
private String desc;
private int partNum;
public Item(String aDesc,int aPartNum){
desc =aDesc;
partNum =aPartNum;
}
@Override
public int compareTo(Item o) {
return partNum -o.partNum;
}