【摘要】:动手写11.4.3TreeSet类初始化一般会使用TreeSet,这样便于使用该类中提供的方法。其运行结果为:图11.4.2TreeSet使用示例除了Set基础方法以外,TreeSet中还提供了其他常用方法,如表11.4.1所示。表11.4.1TreeSet类中的常用方法提示在使用TreeSet中的ceiling、headSet、subSet和tailSet等方法时,须注意取得元素的范围,避免丢失元素。TreeSet也是非同步的,在多线程环境下使用时须谨慎。
TreeSet类同时实现了Set接口和NavigableSet接口(NavigableSet直接继承了SortedSet接口)。它既可以使用元素的自然顺序对元素进行排序,也可以根据创建Set集合时提供的Comparator比较器的顺序进行排序,如果没有就会抛出ClassCastException异常。
Comparator接口中提供了compareTo(Object o)方法,用于比较当前对象与传入对象来决定前后顺序。若该对象小于入参对象,则应返回负整数;若相同,则应返回0;若大于入参对象,则应返回正整数。
动手写11.4.3
TreeSet类初始化一般会使用TreeSet,这样便于使用该类中提供的方法。
动手写11.4.4
上述示例中,第一次迭代遍历TreeSet对象时,使用的是Integer中默认的compareTo()方法;第二次迭代遍历中,Person类实现了Comparable接口,使用的是Person类中自定义的compareTo()方法。其运行结果为:(www.xing528.com)
图11.4.2 TreeSet使用示例
除了Set基础方法以外,TreeSet中还提供了其他常用方法,如表11.4.1所示。
表11.4.1 TreeSet类中的常用方法
提示
在使用TreeSet中的ceiling、headSet、subSet和tailSet等方法时,须注意取得元素的范围,避免丢失元素。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。