Set集合怎么使用呢?
目录
Set接口
特点:
Set: 无序,不重复 (无序:存入和拿出来的顺序不同所以不能使用下标)
遍历:
foreach , 迭代器
扩容:
初始容量 16 ,负载因子 0.75 ,扩容增量1倍
实现:
对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底层 HashMap 的相关方法来完成,我们应该 为保存到 HashSet 中的对象覆盖 hashCode() 和 equals()
已知实现接口有:
Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>
已知子类:
JobStateReasons, LinkedHashSet
1. HashSet
特点:
- 它存储 唯一元素 并 允许空值 依据对象的 hashcode 来确定该元素是否存在
- 由HashMap支持
- 不保持插入顺序
- 非线程安全
- 性能参数:初始容量,负载因子 默认值: 初始容量16,负载因子0.75
- 示例:new HashSet