Java 回顾笔记_set集合

set集合概念:

这个集合是一个不包含重复元素的(同一个元素的)集合.


set集合的功能和 conllection 集合一样。


注意set集合 只能使用迭代器进行 取出元素,且元素是无序的。不能保证你存进去的顺序,和取出来的顺序一致.


Hashset集合:


hashset内部数据结构是哈希表,是不同步的.


哈希表,就是通过哈希算法,特有的算法,可以给你的对象算出一个位置,

让你的对象 在对应的位置上进行存储。

这样方便查询 ,直接调用算法就可以 知道你的位置。


当时有一些算出来的地址相同,但是内容不同的元素,也会给你一个位置去存储。

他是根据你开始给你的位置,然后在通过这个位置,在进行另外一个种算法的出来的。




记住是通过元素的方法,因为你元素继承与obj的话,那么你就需要重写 这两个方法。



__________________________

ArrayList 的 contains 和 remove 底层使用都是equals 进行判断是否有相同的元素


而hashset集合 必须是先 进行hashcode()判断 在进行equals 判断.


_____

LinkedHashSet集合:

hashset 无序,为了 让 集合唯一 且有序  我们就使用 他的子类LinkedHashSet集合。


————————————————————

集合框架-TreeSet集合:



集合框架-TreeSet集合-Comparator比较器:


new TreeSet(new myCompareor);

public myComperor  implments Comparator ;


比较器比较常用。


比如说你string 类的 比较方法不适合,你就需要 去创建一个类 去实现比较器的 比较方法。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值