1. ArrayList、Vector采用数组方式存储数据,此数组元素数大于实际存储的数据,以便增加和插入元素。都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢。
LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
2.
Collection
├List(允许有相同的元素)
│ ├LinkedList
│ ├ArrayList (允许所有元素,包括null; 没有同步,所以不是线程安全的)
│ └Vector (类似ArrayList,但是Vector是同步的,线程安全)
│ └Stack
└Set(不包含重复的元素)
Map(提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value)
├Hashtable (key或value不能为空;同步)
├HashMap (允许null,即null value和null key;非同步的)
└WeakHashMap
本文深入探讨了Java集合框架中的ArrayList、Vector与LinkedList的内部实现原理、性能特点及应用场景,提供了针对不同需求的最优选择策略。
7801

被折叠的 条评论
为什么被折叠?



