集合-----Set接口

集合-----Set接口

简要介绍一下Set接口

  1. Set接口继承Collection,方法与Collection保持完全一致.

  2. Set接口特点

a、无序

无序是指的是Set集合没有索引下标,不能通过索引下标访问

b、不可重复

不允许添加重复元素

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

介绍一下HashSet的使用

1、HashSet是一个没有重复元素的集合 ,不保证元素的顺序
2、HashSet允许有null元素
3、HashSet是采用哈希算法实现,底层实际是用HashMap实现的(HashSet本质就是一个简化版的HashMap)因此查询效率和删除效率比较高

HashSet算法原理
Hash算法也称之为散列算法

最简单的散列公式:模9运算

现在有九个位置
用户要将数字放进这九个位置里面
那么怎么放了比较合理了?
使用模9运算
比如7%9 = 7 放在7的位置上
比如22%9 = 4 放在4的位置上

HashSet的用法
集合-----Set接口_第1张图片

你可能感兴趣的:(#,java技能树,哈希算法,散列表,java)