1.Collection 和 Map 的区别
1.Collection 和 Map 是官方提供的集合容器的两大体系的顶层接口、
2.Collection 代表单元素集合体系
3.Map 代表kv键对集合体系
4.Collection体系继承了Iterable迭代器接口,所有子类都提供了迭代器的实现,Map体系没有
2.List,Set,Queue 的区别
1.List,Set,Queue 都是 Collection体系下的子接口,分别代表是三个体系
2.List 体系的特点有序,不唯一
3.Set 体系的特点是无序,唯一
4.Queue 体系的特点是先入先出
3.队列(Queue)和栈(Stack)的区别
1.队列是一种 FIFO (First in First Out)先入先出的结构
2.栈是一种FILO(First in Last Out)先入后出的结构
java 集合体系中的LInkedList类可以实现队列和栈结构
在链表头部插入,尾部取出或者尾部插入,头部取出,就是队列 (插入和取出在不同方向上进行)
在链表头部插入,头部取出或者尾部插入,尾部取出,就是栈(插入和取出在相同方向上进行)
4.Array 和 ArrayList 的区别
Array是数组,ArrayList是类
Array是定长的(需要手动扩容),ArrayList长度可变(使用过程中自动扩容)
ArrayList的底层是Array
5.ArrayList 和 LinkedList 的区别
1.底层数据结构实现:ArrayList底层数据结构是动态数组,而 LinkedList 的底层数据结构是双向链表
2.随机访问(即读)效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 ArrayList 底层是数组,可以通过索引号快速访问,LinkedList 是通过二分查找法遍历链表节点进行查找的
3.增加和删除效率:在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高,因为ArrayList增删操作需要大量的前移或后移,这个过程中涉及到大量的赋值操作比较耗时间,LinkedList只需要修改节点对象的左右指针即可。
4.内存空间占用:LinkedList 比 ArrayList 的节点除了存储数据,还存储了两个引用,一个指向前一个元素,一个指向后一个元素。
5.综合来说&#x