A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 飘过的云 中级黑马   /  2015-6-5 23:13  /  984 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //treeMap,姓名小到大,年龄大到小
  2. package cn.itcast.practice;

  3. import java.util.Comparator;
  4. import java.util.Set;
  5. import java.util.TreeMap;

  6. public class TreeMapDemo {
  7. public static void main(String[] args) {
  8.        
  9. Person p1=new Person("001",23);       
  10. Person p2=new Person("001",24);       
  11. Person p3=new Person("002",25);       
  12. Person p4=new Person("003",26);       
  13. Person p5=new Person("004",23);
  14. Person p6=new Person("005",25);
  15. TreeMap<Person,String> treeMap = new TreeMap<Person,String>(new Comparator<Person>(){

  16.         @Override
  17.         public int compare(Person p1, Person p2) {
  18.                 //姓名小到大,年龄大到小
  19.                 int num=p1.getName().compareTo(p1.getName());
  20.                 int num1=(num==0)? (p2.getAge()-p1.getAge()):num;
  21.                 return num1;
  22.         }});

  23. treeMap.put(p1, "admin");
  24. treeMap.put(p2, "system");
  25. treeMap.put(p3, "scott");
  26. treeMap.put(p4, "scott");
  27. treeMap.put(p5, "scott");
  28. treeMap.put(p6, "system");

  29. System.out.println(treeMap.size());

  30. Set<Person> keys=treeMap.keySet();
  31. for (Person key : keys) {
  32.         System.out.println(key.getName()+"---"+key.getAge()+"---"+treeMap.get(key));
  33. }
  34. }
  35. }
复制代码

3 个回复

倒序浏览
比较器中比较名字对象写错了
p1和p1比有什么用
回复 使用道具 举报
22行 ~~~  楼上正解
回复 使用道具 举报
是的 ,谢谢指出错误
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马