TreeMap中文排序,TreeMap倒序输出排列

时间:2023-03-09 07:15:40
TreeMap中文排序,TreeMap倒序输出排列
1、TreeMap集合倒序排列
import java.util.Comparator;

/**
* 比较算法的类,比较器
* @author Administrator
*
*/
public class MyCmp implements Comparator<Object> { // 实现倒序
@Override
public int compare(Object o1, Object o2) {
int x = o2.toString().compareTo(o1.toString());
return x;
}
}
import java.util.Iterator;
import java.util.TreeMap; public class TestMap { public static void main(String[] args) {
TreeMap<String,String> map = new TreeMap<String,String> (new MyCmp());
map.put("10001","张某");
map.put("10005","孙某");
map.put("10003","方某");
map.put("10004","谭某");
map.put("10002","李某");
Iterator<String> it = map.keySet().iterator();
while(it.hasNext()){
String key = it.next();
System.out.println(key+"="+map.get(key));
}
}
}

TreeMap中文排序,TreeMap倒序输出排列

2、TreeMap中文排序
import java.text.CollationKey;
import java.text.Collator;
import java.util.Comparator; /**
* 处理中文排序
* @author Administrator
*
*/
public class MyCmp1 implements Comparator<Object> { Collator collator = Collator.getInstance();
/**
* 提供以与自然语言无关的方式来处理文本,日期,数字和消息的类和接口
* 获取当前默认语言环境的Collator
*/
@Override
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
CollationKey key1 = collator.getCollationKey(o1.toString());
CollationKey key2 = collator.getCollationKey(o2.toString());
return key1.compareTo(key2);
}
}
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap; public class TestMap1 { public static void main(String[] args) {
TreeMap<String,String> map = new TreeMap<String,String>(new MyCmp1());
map.put("艾伦", "1001");
map.put("过去", "1002");
map.put("以后", "1003");
map.put("明天", "1004");
map.put("未来", "1005");
Set<Entry<String,String>> set = map.entrySet();
Iterator<Entry<String,String>> it = set.iterator();
while(it.hasNext()){
Entry<String, String> e = it.next();
System.out.println(e.getKey()+"="+e.getValue());
}
}
}

TreeMap中文排序,TreeMap倒序输出排列