Java集合(四)Set接口

  Set接口继承自Collection,Set接口中没有新增的方法,方法和Collection保持完全一致,前面在List的学习方法,在Set中仍然适用。

  Set容器特点:无序,不可重复。无序指Set中的元素没有索引,我们只能遍历查找。不可重复指不允许加入重复的元素。更确切地讲,新元素如果和Set中某个元素通过equals()方法对比为true,则不能加入,甚至Set中也只能放入一个null元素,不能多个

  Set常用实现类有:HashSet,TreeSet等,我们一般使用HashSet

 

HashSet集合

  HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能

  HashSet是Set接口的一个实现类,他所存储的元素是不可重复的,并且元素都是无序的。当向HashSet集合中添加一个元素时,首先会调用该元素的hashCode()方法来确定元素的存储位置,然后再调用equals()方法来确保该位置没有重复元素。Set集合与List集合存取元素的方式都一样。

 

 

 

 

TreeSet集合

  TreeSet 是 Set 接口的另一个实现类,它内部采用平衡二叉树来存储元素,这样的结构可以保证 TreeSet 集合中没有重复的元素,并且可以对元素进行排序。所谓二叉树就是说每
个节点最生有两个子书点的有序树,每个节点及其子节点组成的树称为子树,通常左侧的节点称为“左子树”,右侧的节点称为“右子树”,其中左子树上的元素小于它的根节点,而右子树上的元素大于它的根节点。

 

TreeSet有一些特有的方法:

 

 举例:

 

posted on 2022-06-09 11:26  键盘敲烂的朱  阅读(139)  评论(0编辑  收藏  举报