对TreeMap按照value进行排序

转载 2016年08月31日 13:56:58
  1. public class Testing {  
  2.   
  3.     public static void main(String[] args) {  
  4.   
  5.         HashMap<String,Long> map = new HashMap<String,Long>();  
  6.         ValueComparator bvc =  new ValueComparator(map);  
  7.         TreeMap<String,Long> sorted_map = new TreeMap<String,Long>(bvc);  
  8.   
  9.         map.put("A",99);  
  10.         map.put("B",67);  
  11.         map.put("C",67);  
  12.         map.put("D",67);  
  13.   
  14.         System.out.println("unsorted map: "+map);  
  15.   
  16.         sorted_map.putAll(map);  
  17.   
  18.         System.out.println("results: "+sorted_map);  
  19.     }  
  20. }  
  21.   
  22. class ValueComparator implements Comparator<String> {  
  23.   
  24.     Map<String, Long> base;  
  25.     //这里需要将要比较的map集合传进来
  26.     public ValueComparator(Map<String, Long> base) {  
  27.         this.base = base;  
  28.     }  
  29.   
  30.     // Note: this comparator imposes orderings that are inconsistent with equals.    
  31.     //比较的时候,传入的两个参数应该是map的两个key,根据上面传入的要比较的集合base,可以获取到key对应的value,然后按照value进行比较   
  32.     public int compare(String a, String b) {  
  33.         if (base.get(a) >= base.get(b)) {  
  34.             return -1;  
  35.         } else {  
  36.             return 1;  
  37.         } // returning 0 would merge keys  
  38.     }  
  39. }  

TreeMap按照value进行排序

TreeMap底层是根据红黑树的数据结构构建的,默认是根据key的自然排序来组织(比如integer的大小,String的字典排序)。所以,TreeMap只能根据key来排序,是不能根据value来排...

Java<TreeMap按key排序与按照value排序>

TreeMap默认按照key递增排序 public class Main { public static void main(String[] args) { TreeMap t...
  • Gpwner
  • Gpwner
  • 2017年06月11日 08:41
  • 1499

TreeMap按value值进行排序

import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import jav...

使用比较器对Treemap按照value进行排序

使用比较器对Treemap按照value进行排序(value值只有是string类型时才适用)方式一public class MapSortDemo { public static void m...
  • a_sid
  • a_sid
  • 2017年05月18日 10:42
  • 618

TreeMap的排序及比较器问题

本文介绍了Map的按值排序以及由此引出的比较器等的问题,深入探讨了Comparator及Comparable两个比较器的不同之处,希望给他人以帮助。...
  • wthfeng
  • wthfeng
  • 2016年07月17日 23:03
  • 7918

Java TreeMap 升序|降序排列

import java.util.Comparator; import java.util.TreeMap; public class Main { public static void main(...
  • hao5743
  • hao5743
  • 2014年10月26日 15:27
  • 20588

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

TreeMap按value值进行排序

import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util...

TreeMap按照key排序

TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的。TreeMap 和 HashMap 用法大致相同,...

Java提高篇(二七)-----TreeMap

TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致...
  • chenssy
  • chenssy
  • 2014年05月23日 09:23
  • 142327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对TreeMap按照value进行排序
举报原因:
原因补充:

(最多只允许输入30个字)