Java中Set集合的用法

java.util.Set 接口 extends Collection接口

1、Set接口的特点:
(1)不允许存储重复的元素。
(2)没有索引,没有带索引的方法,也不能使用普通的for循环遍历。

2、java.util.HashSet集合 implements Set接口
HashSet特点:
(1)不允许存储重复的元素。
(2)没有索引,没有带索引的方法,也不能使用普通的for循环遍历。
(3)是一个无序的集合,存储元素和取出元素的顺序有可能不一致。
(4)底层是一个哈希表结构(查询的速度非常快)。

3、哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实际存储的物理地址)。
在Object类有一个方法,可以获取对象的哈希值。
int hashCode()返回该对象的哈希吗值。

4、Set集合在调用add方法的时候,add方法回调用元素的hashCode方法和equals方法,判断元素是否重复。

5、java.util.LinkedHashSet集合 extends HashSet集合
LinkedHashSet集合特点:底层是一个哈希表(数组+链表/红黑树)+链表:多了一条链表(记录元素的存储顺序),保证元素有序。有序,不允许重复。

6、可变参数
Java中Set集合的用法
Java中Set集合的用法