浅谈java中的TreeMap 排序与TreeSet 排序
TreeMap:
packagecom;
importjava.util.Comparator;
importjava.util.TreeMap;
publicclassTest5{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
TreeMap<String,String>tree=newTreeMap<String,String>(
newComparator<Object>(){
@Override
publicintcompare(Objecto1,Objecto2){
//TODOAuto-generatedmethodstub
if(o1==null||o2==null){
return0;
}
returno1.toString().compareTo(o2.toString());
}
}
);
tree.put("k","1");
tree.put("ba","2");
tree.put("z","3");
tree.put("d","4");
tree.put("e","5");
tree.put("an","6");
tree.put("c","7");
for(Stringstr:tree.keySet()){
System.out.println(str);
}
}
}
经测试默认是按照KEY进行排序的。
但是可以写对象比较器,进行自定义排序。
TreeSet:自定义倒序排序,默认按照正序排序,1,2,3,4,5,6
packagecom;
importjava.util.Comparator;
importjava.util.TreeSet;
publicclassTest6{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
TreeSet<Object>tree=newTreeSet<Object>(newComparator<Object>(){
@Override
publicintcompare(Objecto1,Objecto2){
//TODOAuto-generatedmethodstub
if(o1==null||o2==null){
return0;
}
if(Integer.parseInt(o1.toString())>Integer.parseInt(o2.toString())){
return-1;
}elseif(Integer.parseInt(o1.toString())<Integer.parseInt(o2.toString())){
return1;
}else{
return0;
}
}
});
tree.add(4);
tree.add(5);
tree.add(6);
tree.add(1);
tree.add(2);
tree.add(3);
for(Objecto:tree){
System.out.println(o);
}
}
}
以上这篇浅谈java中的TreeMap排序与TreeSet排序就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。