目录
集合框架
集合理解为是:容器。
集合和数组的区别:
数组:
1.存储基本类型或引用类型都可以
2.创建数组时,只能存储同一种类型的数据
3.容器大小是固定的,不能改变
4.数组中的元素通过下标来操作
集合:
1.只能存储引用类型
2.创建集合时,可以存储不同类型的数据
3.容器大小是可变的
4.有的容器有下标,有的没有下标
集合框架:
java.util包
单列集合:
Collection
--List :有序可重复,有序指的是存入的顺序和取出的顺序是一致的
--ArrayList
--LinkedList
--Set :无序不可重复,无序指的是存入的额顺序和取出的顺序不一定一致。
--HashSet
--LinkedHashSet
双列集合:
Map:映射,存储一对一对的数据。
--HashMap
--LinkedHashMap
Collecttion:
—List:有序可重复
–LinkedList:使用链表实现的,增删快,查询慢
–ArrayList:使用可变数组实现,查询快,增删慢
—Set:无序不可重复
–HashSet:使用哈希表实现,自定义对象需重写hashCode和equals方法
–LinkedHashSet:链表+哈希表,有序不可重复
方法: add() / remove() / size()
Map:
–HashMap key要唯一,使用哈希表算法
–LinkedHashMap key唯一并有序,使用哈希表+链表
方法: put() / get(key) /size() /remove()
Collection
是一个接口。
遍历集合元素:
1.将集合转为数组
Object[] toArray()
2.使用迭代器
Iterator iterator()
注意:如果没有迭代的元素,还调用了next方法,则会出现异常
NoSuchElementException 没有这个元素异常
使用迭代器时注意:
对coll对象想要迭代取出元素,又想要添加元素。
解决方式:
要么都是用迭代器里的功能来操作
要么都是用集合里的功能来操作