Java类集
一、Java类集 :就是一个动态的对象数组
类集接口的继承关系:
Collection |----List |----ArrayList
| |----LinkList
| |----Vector
|
|
| ----Set |----TreeSet
|----HashSet
Map----TreeMap
----HashMap
1、ArrayList Vector
JDK1.2推出 JDK1.0推出
非安全性 安全性
效率高 效率低
迭代器遍历 多了一个枚举器遍历
比ArrayList多了一些获取第一个、最后一个元素的方法
2、ArrayList LinkList
每增加或者删除一个元素时 双向链表结构
后面的元素都会移动,效率低
增删慢 增删快
查找快 查找慢
队列结构:先进先出
堆栈结构:后进先出
3、ArrayList面试两大陷阱:
-
用for循环一边遍历一边移除,会导致删除不干净 ,或者直接索引越界异常IndexOutOfBoundsException
这是因为删除一个元素,后面的元素位置都会改变,角标就会变化
-
数组转换成集合
数组转换成集合后的哪个集合其实是一个高仿ArrayList,不支持增删操作,还需要通过ArrayList构造类转换成真正的ArrayList