Java为开发者提供了大量的工具类,这给开发人员带来了很大方便,但是选择多了也有困扰,究竟用哪个类;我想选择什么,一是看自己具体需求,二是类本身的性能和用法;Java中提供了HashSet、TreeSet、LinkedHashSet三种常用的Set实现,以下具体分析它们的用法和性能。

我们使用Set的原因是Set集合不包含重复元素,HashSet、TreeSet和LinkedHashSet三种类型什么时候使用它们,使用哪个这是一个很重要的选择性问题,正确的选择会大大提升程序运行效率;总结一下,如你的需求是要一个能快速访问的Set,那么就要用HashSet,如果你要一个排序Set,那么你应该用TreeSet,如果你要记录下插入时的顺序时,你应该使用LinedHashSet。把握这几个原则,是不是选择起来就简单多了。

Set接口的特性,Set接口继承了Collection接口,Set集合中不能包含重复的元素,每个元素必须是唯一的,你只要将元素加入set中,重复的元素会自动移除

 

HashSet

Java中三种Set的实现类的用法和区别_重复元素

 

HashSet结构图

Java中三种Set的实现类的用法和区别_重复元素_02

 

 

TreeSet

Java中三种Set的实现类的用法和区别_程序运行_03

 

TreeSet结构图

Java中三种Set的实现类的用法和区别_重复元素_04

 

 

 


LinkedHashSet


 

LinkedHashSet结构图

Java中三种Set的实现类的用法和区别_程序运行_05