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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Zhouyongming 中级黑马   /  2016-4-2 18:48  /  388 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

TreeSet:
   可以排序,去重复(Set),数据结构是二叉树

排序:1.实现 Comparable 接口
     2:重写compareTo(T other)方法{
     |--
        int num = this.age - e.age;//年龄为主要条件
        return num ==0 ? this.name.compareTo(e.name):num ;//名称为次要条件
     }  
        例:list.add(new Student("周七",23));
        谁被add进来就是谁调用,他就是this
        compareTo返回的值是0,则不再存储当前元素
        compareTo返回的值是负数,则倒序存储
        compareTo返回的值是正数,则怎么存怎么取
        TreeSet:1:实现 Comparable 接口
                        2:***比较器 Comparator <String>接口..  重写compare方法
                public int compare(String s1 ,String s2){
                        int length = s1.length() - s2.length();  //先比较字符串长度
                        return length == 0 ? s1.compareTo(s2):length;
                }
                **s1是add(s1)   s2之前进来的元素
                ** TreeSet 比较排序时优先Comparator
        new TreeSet<>(new Comparator<String>() {//匿名内部类
                重写compare方法;
        });

0 个回复

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