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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JJJD 中级黑马   /  2015-6-23 23:55  /  182 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

记住:排序时,当主要条件相同时,一定要判断一下次要条件。       
        TreeSet的自然排序:元素自身具备比较性
                TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,
                然后将集合里的元素按升序排列.
                此时需要排序元素的类必须实现Compareble 接口,
                并覆写其intcompareTo(Object o)方法;该方法用于比较对象,
                若:obj1,compareTo(obj2),
                        返回0,表示两个对象相等,
                        若返回一个正整数,表示obj1 大于obj2,
                        若返回一个负整数,表示obj1 小于obj2;
        TreeSet集合而言,判断两个对象相等的标准是:compareTo()方法比较返回0;
        TreeSet的定制排序:元素自身不具备比较性时,或者具备的比较性不是所需要的,
        就定制排序,比如降序排序,就可以使用Comparator接口了:
                该接口包含int compare(Object o1,Object o2)方法:
                        用于比较两个对象的大小,比较结果和compareTo方法一致;
        要实现定制排序,需要在创建TreeSet集合对象时,提供一个一个Comparator对象,
        该对象里负责集合元素的排序逻辑;TreeSet(Comparator comparator)
        定义了比较器,将比较器作为参数,传递给TreeSet集合的构造函数。

0 个回复

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