首页 理论教育 Java中的TreeSet类

Java中的TreeSet类

时间:2023-10-19 理论教育 版权反馈
【摘要】:动手写11.4.3TreeSet类初始化一般会使用TreeSet,这样便于使用该类中提供的方法。其运行结果为:图11.4.2TreeSet使用示例除了Set基础方法以外,TreeSet中还提供了其他常用方法,如表11.4.1所示。表11.4.1TreeSet类中的常用方法提示在使用TreeSet中的ceiling、headSet、subSet和tailSet等方法时,须注意取得元素的范围,避免丢失元素。TreeSet也是非同步的,在多线程环境下使用时须谨慎。

Java中的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等方法时,须注意取得元素的范围,避免丢失元素。

TreeSet也是非同步的,在多线程环境下使用时须谨慎。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈