一、概述
- Set中元素不可重复。
- Set中方法与Collection中方法基本一致。
二、HashSet
- 元素存储时是无序的。 底层: 依据元素的哈希码顺序进行存储。
- 元素不能重复,重复的元素直接舍弃
- 默认初始容量16,加载因子0.75f.(加载因子:容量达到75%时进行扩容)。每次 扩容一倍
- 构造函数中允许指定初始容量和加载因子。
- 比较集合是否相同时,不用关心元素的存储顺序。
- 本身是一个线程不安全的集合。
public static void main(String[] args) { Set<String> s = new HashSet<String>(); //添加元素 -- 不保证存储顺序 -- 底层是依据元素的哈希吗存储的 s.add("afdg"); s.add("bfgh"); s.add("ccvb"); //重复元素直接舍弃 s.add(new String("d")); s.add("d"); System.out.println(s); //验证重复元素是舍弃还是覆盖。 for(String str :s){ if(str=="d"){ System.out.println("舍弃了第二个元素"); } } }