19.5 树集

前面讲过链表、数组列表、散列表、散列集,本节将讲述另一种数据结构:树集。树集这种数据结构用在什么情况下?它与前面几种数据结构有什么区别?本节通过实例讲述树集这种数据结构,并逐个解答上面的问题。

19.5.1 什么是树集

树集有点像散列集,但与散列集不同,树集是一种有序的数据结构。树集可以使用任何次序在这种数据结构中添加元素。当遍历时,元素出现次序是有序的。不过这种次序由系统自动完成。

那么系统如何对其进行自动排序?系统在每添加一个元素时,将按照字典顺序比较相应的字符串,按升序的方式来完成排序。

注意

使用树集这种数据结构的对象,必须要实现Comparable接口,只有实现了这种接口的对象,才能调用Comparable接口中的CompareTo()方法来排序。

还是先看看树集的构造器和常用的方法函数。树集的构造器方法如下所示:❑TreeSet()

创建一个空的树集对象。

❑TreeSet(collection c)

创建一个树集对象,并且通过指定的比较器给它的元素排序。

❑TreeSet(sortedSet element)

创建一个树集,并把有序集element的所有元素插入树中。它使用与有序集element相同的元素比较器。

树集的常用方法函数如下所示:

❑boolean add(object o):添加一个对象元素到树集中去。

❑boolean remove(object o):从树集中删除一个对象元素。

读者在学习树集的同时,可以自行将树集与前面所学习的几种数据结构进行比较,看看它们之间的相同点和不同点。这样,才能知道在什么场合下,使用哪种数据结构最好。