黑马程序员技术交流社区

标题: TreeMap 代码找错 [打印本页]

作者: 飘过的云    时间: 2015-6-5 23:13
标题: TreeMap 代码找错
  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. }
复制代码

作者: 半月    时间: 2015-6-6 09:40
比较器中比较名字对象写错了
p1和p1比有什么用
作者: 志行    时间: 2015-6-6 11:20
22行 ~~~  楼上正解
作者: 飘过的云    时间: 2016-12-13 03:14
是的 ,谢谢指出错误




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2