本文参考黑马教程:https://www.bilibili.com/video/BV18J411W7cE?p=220
- 集合分为两种单列和双列
- 集合都在java.util下是需要导包的(java.long不需要-string
- collection接口提供了iterator方法返回一个迭代器
- 迭代器主要使用两个方法:next与hasnext,要区别两者
集合体系结构
常见collection方法
迭代器
List
两点:可重复,有序
特有方法
修改异常
这一部分可以参考https://blog.csdn.net/qq_43398404/article/details/122790620
介绍了failfast与failsafe
通常arraylist的迭代器是failfast机制
解决方案是不使用迭代器,直接用for循环遍历
列表迭代器
列表迭代器为什么允许迭代期间修改?
collection为何能使用增强for循环?
继承了iterable接口
也就是说所有实现了collection接口的子类都可以使用增强for
该接口有如下方法
List下子类的特点
同样参考https://blog.csdn.net/qq_43398404/article/details/122790620
Set集合
hash值相关
hash值可以通过重写方法hashcode完成不同对象的hash值都相同
hashset 保证add不重复的原理
hashset底层使用的是hash表
加入hash表的方法演示
LinkedHashSet
两点:有序但是不重复
TreeSet
特点:具有排序作用