目录
前言
是学习java3y先生整理的资料所记录的笔记
集合
该如何去理解集合?这几个常用的实现类我们必须要知道它的数据结构是什么,什么时候来使用?
从面向对象的角度去理解
分为Collection接口, Map接口
Collection接口:
List:
Vector
LinkedList
ArrayList
CopyOnwriteArrayList
Set:
HashSet
TreeSet
Map接口:
HashMap
LinkedHashMap
TreeMap
ConcurrentHashMap
需要了解的数据结构有
数组,链表,散列表,红黑树
• 如果是集合类型,有List和Set供我们选择。List的特点是插入有序的,元素是可重复的。
Set的特点是插入无序的,元素不可重复的。至于选择哪个实现类来作为我们的存储容器,我们就得看具体的应用场景。
是希望可重复的就得用List,选择List下常见的子类。是希望不可重复,选择Set下常见的子类。
• 如果是Key-Value型,那我们会选择Map。如果要保持插入顺序的,我们可以选择LinkedHashMap,
如果不需要则选择HashMap,如果要排序则选择TreeMap。
Collection的由来与功能和要掌握的体系有哪些?
集合可以存储多个元素,但我们对多个元素也有不同的需求
多个元素,不能有相同的
多个元素,能够按照某个规则排序
针对不同的需求:java就提供了很多集合类,多个集合类的数据结构不同。但是,结构不重要,重
要的是能够存储东⻄,能够判断,获取
把集合共性的内容不断往上提取,最终形成集合的继承体系---->Collection
所以需要先从Collection学起
Collection的功能有哪些?
迭代器(Iterator)是什么?
查看Collection源码时会发现Collection继承了Iterable,有iterator()这个⽅法
Iterable是一个接口,有三种方法
hasNext()
next()
remove()
但没有在这个接口实现.
在ArrayList下以内部类的方式实现了,Iterator实际上就是在遍历集合
所以便利集合(Collection)的元素都可以使用Iterator,至于它的具体实现是以内部类的方式实现的