在我们牛客力扣等相关刷题网站中,中等题多数涉及集合的概念。
现代大家了解一下知识结构:
List系列集合: 添加的元素是有序,可重复,有索引
Set系列集合 : 添加的元素是无序,不重复,无索引
Set系列集合:
1.无序:存取顺序不一致
2.不重复:可以去除重复
3.无索引:没有带索引的方法,所以不能使用普通的for循环遍历,也不可以通过索引获取元素
Set集合的实现类:
1.HashSet: 无须,不重复,无索引
2.LinkedHashSet: 有序,无重复,无索引
3.TreeSet: 可排序,不重复,无索引
存储字符串并遍历
利用Set集合,添加字符串,并使用多种方式遍历
1.迭代器
2.增强for
3.Lambda表达式
HashSet底层原理
HashSet集合底层采用哈希表存储数据,是一种对于增删改查数据性都较好的结构
组成:
JDK8之前:数组+链表
JDK8开始:数组+链表+红黑树