目录
2. set有ArrayList中存在的通过下标删除,或foreach循环删除时的问题吗? 为什么
3. set是否存在List删除,传入整数需要区分是基本型还是对象型的问题,【例如:list.remove(2)】,为什么?
一.Set特点
特点:无序,不重复
思考:如果对List容器中的元素去重?
二.遍历:foreach,迭代器
三.扩容: 初始容量16,负载因子0.75,扩容增量1倍
性能参数:初始容量,负载因子
默认值: 初始容量16,负载因子0.75
示例:new HashSet<>(20, 0.5f);
四.HashSet
- 它存储唯一元素并允许空值 依据对象的hashcode来确定该元素是否存在
- 由HashMap支持
- 不保持插入顺序
- 非线程安全
五.思考
1. 如何给ArrayList集合去重
2. set有ArrayList中存在的通过下标删除,或foreach循环删除时的问题吗? 为什么
答:set无下标 所有没有
3. set是否存在List删除,传入整数需要区分是基本型还是对象型的问题,【例如:list.remove(2)】,为什么?
答:存在 基本型的整数
六.TreeSet
- 是一个包含有序的且没有重复元素的集合
- 作用是提供有序的Set集合,自然排序或者根据提供的Comparator进行排序
- TreeSet是基于TreeMap实现的