Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107851
  • 博文数量: 9
  • 博客积分: 1195
  • 博客等级: 少尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 20:44
文章分类

全部博文(9)

文章存档

2011年(1)

2009年(5)

2008年(3)

我的朋友

分类: Java

2009-01-13 00:14:32

  最近开发中用到了HashMap ,而且想到要利用其value的大小排序。。真是个伤脑筋的问题。
还好,经过查阅各个地方的资料。发现这个下边的代码处理是最简单有效的。代码很少,却达到目的了。
一般我坚持的一个原则的是:能简单处理的,尽量不做复杂工作。
关键代码部分如下:
HashMap map_Data=new HashMap();
    map_Data.put("A", "98");
    map_Data.put("B", "50");
    map_Data.put("C", "50");
    map_Data.put("D", "25");
    map_Data.put("E", "85");
    System.out.println(map_Data);
    List> list_Data = new ArrayList>(map_Data.entrySet());
    Collections.sort(list_Data, new Comparator>()
      { 
          public int compare(Map.Entry o1, Map.Entry o2)
          {
           if(o2.getValue()!=null&&o1.getValue()!=null&&o2.getValue().compareTo(o1.getValue())>0){
            return 1;
           }else{
            return -1;
           }
            
          }
      });
    System.out.println(list_Data);
主要的一个知识点在这个Collections.sort(list,Comparator接口实现)地方,而最最重要核心部分是这个Comparator实现。因为Comparator实现决定你的排序。采用了隐藏类实现方式。
阅读(1397) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~