数据结构-Set

一、Set:特点不包含重复元素

常用功能:

HashSet result = new HashSet();
HashSet set1 = new HashSet();
HashSet set2 = new HashSet();
result.addAll(set1);
result.retainAll(set2);
使用Set求交集
HashSet result = new HashSet();
HashSet set1 = new HashSet();
HashSet set2 = new HashSet();
result.addAll(set1);
result.removeAll(set2);
使用Set求差集
HashSet result = new HashSet();
HashSet set1 = new HashSet();
HashSet set2 = new HashSet();
result.addAll(set1);
result.addAll(set2);
使用Set求并集

 

1、HashSet

HashSet基于散列表实现,散列表使用链表数组实现,每一个列表称为桶;

散列表中可以设置初始的桶数,桶数为收集散列值(HashCode值)的桶的数量;

填装因子默认0.75,当(表中填入的记录数/Hash表的长度)>填装因子时,会新建一个双倍桶数的散列来存储原散列的数据;

每一个对象都会根据HashCode方法生成一个HashCode值,每一个对象都会根据(HashCode值%桶)的值确定所要存入的桶中;

在使用contains方法求是否有该元素时,会依次访问每一个桶,根据HashCode值确定元素位于哪个桶中,再查询这个桶中的元素;

posted @ 2022-09-08 21:49  水水君  阅读(139)  评论(0编辑  收藏  举报