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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郝聚德 中级黑马   /  2015-4-21 00:19  /  536 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class TreeSetTest {
        public static void main(String[] args) {
                //1: 自然排序接口  Comparable, 实现 compareTo(o1) 方法
                //创建集合对象
                //TreeSet<Person> ts = new TreeSet<Person>();
               
                //2: 比较器接口    Comparator, 实现 compare(o1, o2)方法
                public class TreeSetTest {
        public static void main(String[] args) {
                //1: 自然排序接口  Comparable, 实现 compareTo(o1) 方法
                //创建集合对象
                //TreeSet<Person> ts = new TreeSet<Person>();
               
                //2: 比较器接口    Comparator, 实现 compare(o1, o2)方法
                TreeSet<Person> ts = new TreeSet<Person>(new Comparator<Person>() {

                        @Override
                        public int compare(Person p1, Person p2) {
                                System.out.println("12345");
                               
                               
                                //年龄
                                int num = p1.getAge() - p2.getAge();
                                //名字
                                int result = (num == 0) ? (p1.getName().compareTo(p2.getName())) : num ;
                                return result;
                        }
                });
                               
                //添加元素到集合
                ts.add(new Person("z张三", 18));
                ts.add(new Person("w王五", 18));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
               
                //TreeMap
               
                //遍历
                for (Person p : ts) {
                        System.out.println(p.getName() + "--" + p.getAge());
                }
        }
                });
                               
                //添加元素到集合
                ts.add(new Person("z张三", 18));
                ts.add(new Person("w王五", 18));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
               
                //TreeMap
               
                //遍历
                for (Person p : ts) {
                        System.out.println(p.getName() + "--" + p.getAge());
                }
        }

4 个回复

倒序浏览
还能new接口???
回复 使用道具 举报
实际是子类对象
回复 使用道具 举报
比较器,你new的是子类对象,也就是多态
回复 使用道具 举报
帮你顶,人还是厚道点好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马