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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lts0616 中级黑马   /  2015-12-30 19:31  /  383 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

TreeMap<Student, String> tm = new TreeMap<>(new Comparator<Student>() {

                        @Override
                        public int compare(Student s1, Student s2) {
                                int num = s1.getAge() - s2.getAge();
                                //int num2 = num ==0? s1.getName().compareTo(s2.getName()) : num;
                                return num == 0 ? 1 : num;  //return 0; 代表所有键一样。
                                //return num;  //num 为0;即年龄相同 即键相同,不看名字了;这是自己定义的规则决定的,为什么这里不能用增强for了
                        }

                });// 导包
                        // 添加元素
                tm.put(new Student("张三丰", 25), "合肥");
                tm.put(new Student("张三丰", 25), "上海");
                tm.put(new Student("张无忌", 24), "合肥");
                tm.put(new Student("张无忌", 25), "南京");
                tm.put(new Student("张翠山", 27), "南京");
                tm.put(new Student("鲁达", 23), "上海");
                System.out.println(tm);
               
                // 遍历
                // 获取所有键
                Set<Student> set = tm.keySet();// 导包
                // 增强for
                for (Student key : set) {
                        // 获取值
                        String s2 = tm.get(key);
                        System.out.println(key + "--------------" + s2);
                }
为什么遍历后的值是null?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马