【JAVA】【集合15】Java中的TreeSet

一、TreeSet定义

HashSet在java.util.TreeSet中定义。

TreeSet是一个有序的集合,它的作用是提供有序的Set集合。它继承了AbstractSet抽象类,实现了NavigableSet,Cloneable,Serializable接口。TreeSet是基于TreeMap实现的,TreeSet的元素支持2种排序方式:自然排序或者根据提供的Comparator进行排序。

1.TreeSet继承于AbstractSet,并且实现了NavigableSet接口。

2.TreeSet是一个包含有序的且没有重复元素的集合,通过TreeMap实现。TreeSet中含有一个"NavigableMap类型的成员变量"m,而m实际上是"TreeMap的实例"。

public class TreeSet<E> extends AbstractSet<E>
    implements NavigableSet<E>, Cloneable, java.io.Serializable {
	.....
	private transient NavigableMap<E,Object> m;
	.....

}

在构造方法中初始化m如下:

public TreeSet() {
        this(new TreeMap<E,Object>());
}

二、HashSet的常用方法

1. 构造方法

public TreeSet() {
        this(new TreeMap<E,Object>());
}
public TreeSet(Comparator<? super E> comparator)
public TreeSet(Collection<? extends E> c)
public TreeSet(SortedSet<E> s)

其他方法同Set接口中方法声明。

posted @ 2021-05-21 16:37  小拙  阅读(82)  评论(0编辑  收藏  举报