1、集合和数组的区别?
数组是类型固定长度不可变的容器 可存储基本数据类型和引用数据类型
集合是类型不固定(不指定泛型的情况),且长度可变,只能存储引用数据类型
2、什么是迭代器,什么是增强for,增强for和普通for循环的区别?
迭代器:是collection接口提供的遍历集合元素的方法,
在迭代过程只能获取和输出(也可以删除)元素,如果对结合做其他线性操会先CurrentModification
增强for:底层是迭代器,可以遍历集合和数组
普通for:在遍历过程中可以对集合做线性修改的操作,不会出现异常,只能遍历有索引的集合
3、List接口下都有哪些集合,他们底层各自使用什么数据结构,有什么特点
List接口下又Vector ArrayList LinkedList
Vector ArrayList:底层都是数组结构,但是Vector 是线程同步的,增删慢查询快,内存是连续空间,在删除的时候需要进行销毁重建
LinkedList:底层是双向链表,增删块查询慢,内存是一块不连续的空间,增删只需要迁移相邻两个元素 |