java中如何使用TreeMap进行键值对排序

TreeMap是可以保存键值对的一种方式,它的特殊之处是它可以自动以键进行升序排序。

下面举例说明它的用法。

首先定义一个实体类Person,有name和age属性:

[java]  view plain copy print ?
  1. public class Person {  
  2.     private String name;  
  3.     private int age;  
  4.   
  5.     public Person(String name, int age) {  
  6.         this.name = name;  
  7.         this.age = age;  
  8.     }  
  9.   
  10.     public String getName() {  
  11.         return this.name;  
  12.     }  
  13.   
  14.     public int getAge() {  
  15.         return this.age;  
  16.     }  
  17. }  

举例使用TreeMap的test类:

[java]  view plain copy print ?
  1. import java.util.Iterator;  
  2. import java.util.Map.Entry;  
  3. import java.util.Set;  
  4. import java.util.TreeMap;  
  5.   
  6. public class test {  
  7.   
  8.     public static void main(String[] args) {  
  9.         TreeMap<Long, Object> treeMap = new TreeMap<Long, Object>();  
  10.         treeMap.put((long1new Person("Json"20));  
  11.         treeMap.put((long8new Person("Peter"22));  
  12.         treeMap.put((long9new Person("Divid"25));  
  13.         treeMap.put((long6new Person("Aglia"22));  
  14.         // Get a set of entries  
  15.         Set<Entry<Long, Object>> set = treeMap.entrySet();  
  16.         // Get an iterator  
  17.         Iterator<Entry<Long, Object>> iterator = set.iterator();  
  18.         // Display elements  
  19.         while (iterator.hasNext()) {  
  20.             Entry<?, ?> entry = (Entry<?, ?>) iterator.next();  
  21.             System.out.println(((Person)entry.getValue()).getName());  
  22.         }  
  23.     }  
  24. }  

控制台运行结果:


可以看出打印出来的是经过键升序排序的。这里的键可以是Integer,String等类型,默认按照升序进行排列。



原文链接:

http://blog.csdn.net/cangkukuaimanle/article/details/6882724

猜你喜欢

转载自blog.csdn.net/GoOnDrift/article/details/43734983