List
ArrayList,LinkedList,Vector之间的特点和区别
(ArrayList,LinkedList,Vector都是List实现类; List是有序可以重复的集合)
数组和集合的区别:
1、 长度区别:
1) 数组长度固定
2) 集合长度可变
2、数据类型
1)数组可以是基本类型,也可以是引用类型
2) 集合只能是引用类型(会自动封装成引用类型,主要原因是:引用类型存储在堆中,而基本类型(局 部变量)存储在栈中,合理使用内存空间,如果使用栈,数据量大的话,可能造成栈溢出)
区别:
属性 | ArrayList | LinkedList | Vector |
底层实现 | Object[] | Node<E> | Object[] |
默认大小 | 10 | 0 | 10 |
是否线程安全 | 否 | 否 | 是 |
使用场景 | 使用频繁,适合查询,根据下标取值 | 使用相对较少,适用于插入,增加,删除操作 | 极少使用,要求线程安全情况下使用 |
ArrayList源码解读链接: https://blog.csdn.net/fzzlov/article/details/97955858
LinkedList源码解读链接:https://blog.csdn.net/fzzlov/article/details/98037507