集合框架01:
0. UML
统一建模语言
1. Collection接口
1.1 集合框架的顶级接口
1.2 是Set和List的父接口
1.3 但不是Map的父接口
集合中只能添加引用类型数据
2. List接口
2.1 特点:有序、对象可以重复 ?
2.2 遍历方式
2.2.1 下标
2.2.2 foreach(>=jdk1.5)
2.2.3 迭代器Iterator(原理)
2.3 List优化
初始容量10,负载因子1.5
指定初始容量
2.4 List元素删除
3. 泛型
JDK1.5之后
以类型作为参数的类就叫泛型
作用:提高程序健壮性,简化代码
泛型的默认值是Object
4. 装箱、拆箱
值类型->引用类型 装箱
引用类型->值类型 拆箱
jdk1.5之后引入了自动装箱及自动拆箱功能
5. ArrayList、LinkedList、Vector区别
ArrayList:以连续的数组结构存储数据,查询快(下标)、增删改慢
LinkedList:以链表的结构存储数据,查询慢、增删改快
Vector:增删改查都慢,已过时
集合框架02:
1. Set
1.1 特点:无序、对象不能重复
1.2 遍历
1.2.1 foreach
1.2.2 迭代器
1.3 常用实现类
HashSet
TreeSet:根据某种(规则)对里面的元素进行排序
自然比较接口: java.lang.Comparable
比较器: java.util.Comparator
String以AscII码进行比较,返回差值
LinkedHashSet:
1)元素是有顺序的
2)元素是不重复的
3)底层数据结构是按照链表的结构存储的 Linked
hashCode
队列 Queue:表示一个先入先出的数据结构(自行研究)
堆栈 Stack:表示一个先进后出的数据结构
压:push
弹:pop
集合框架03:
1. Map
1.1 特点:无序、以键值对的形式添加元素,键不能重复,值可以重复
它没有继承Collection接口
1.2 遍历
1.2.1 先取出保存所有键的Set,再遍历Set即可(2种)
1.2.2 先取出保存所有Entry的Set,再遍历此Set即可
2.HashMap与Hashtable之间的区别(重点)
同步(synchronized)既排队 线程安全的 hashtable
异步 线程非安全的 hashmap
地狱回调
3. 其它
3.1 Collections:工具类,提供一组静态方法操作Collection集合
3.2 Arrays:工具类,提供了一组静态方法操作数组