map集合怎么按key排序的 key的值是中文  改怎么排序  最好给个能演示通过的例子 谢谢了 Javamap  中文 key排序

解决方案 »

  1.   

    jdk1.6以上的Map,会实现NavigableMap接口。LZ看看此接口是否符合需求?
    另外,中文当作String,没问题的。
      

  2.   

    linkedhashmap, put的时候就是有序的
      

  3.   

    这个要看你key的中文是按什么排序啊。。按那规则实现个比较器吧
      

  4.   

    强烈建议lz去看有关TreeMap的官方文档,看完之后你就知道怎么做了。
      

  5.   

    用 object 实现Comparator 重写 equals方法
      

  6.   

    中文是可以当String用的,而且其排序规则很可能是按unicode编码方式进行的package zhangming.csdn;import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    import java.util.TreeMap;public class ChineseMap
    {
    public static void main(String[] args)
    {
    Map<String,String> map = new TreeMap<String,String>();
    map.put("王五","34"); //unicode码:\u738b\u4e94
    map.put("刘露","24");    //unicode码:\u5218\u9732
    map.put("赵四","45");    //unicode码:\u8d75\u56db
    Set<Map.Entry<String,String>> set = map.entrySet();
    for(Iterator<Map.Entry<String,String>> iter = set.iterator();iter.hasNext();)
    {
    Map.Entry<String,String> entry = iter.next();
    System.out.println(entry.getKey() + " : " + entry.getValue());
    }
    }
    }
      

  7.   

    不建议楼主用中文当键值进行排序,因为这看起来很乱。当然你也可以自己定义一个Comparator器进行比较
    (像对应拼音,笔画数,但实现起来较为困难)