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));
        }
    }
}

 

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());
        }
    }
}

 

转载于:https://www.cnblogs.com/bigsiji/p/9594137.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值