目录
一:TreeSet介绍
TreeSet是一个可以对元素进行排序的容器,底层是用TreeMap实现的,内部维持了一个简化的TreeMap,通过Key来存储Set的元素,TreeSet需要对内部元素进行排序,因此需要排序规则
排序规则的实现方式
●通过元素自身实现比较规则(在类的内部定义比较方法)
●通过比较器指定比较规则
二:TreeSet的使用
代码
这里的String类内部就有排序的方法
import java.util.Set;
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String[] args) {
//实例化TreeSet
Set<String> set=new TreeSet<>();
//增加元素
set.add("z");
set.add("d");
set.add("e");
set.add("c");
set.add("a");
//获取元素
for(String str:set){
System.out.println(str);
}
}
}
三:TreeSet通过自身实现比较规则
重写比较规则Comparable
实现了Comparable这个接口,类型是Users
通过重写compareTo这个方法
四:通过比较器来实现比较原则
●通过比较器定义比较规则的时候我们需要自己创建一个比较器,比较器需要实现Comparator接口中的compara方法(Comparator是java.util包下的)来定义比较规则
代码
●在实例化TreeSet的时候我们需要把比较器的对象交给TreeSet来完成对元素的排序处理,此时元素自身就不需要实现比较原则了
代码