使用集合的时候根据什么来权衡是使用arraylist,linkedlist,vector, stack?
需要大量插入删除,用linkedlist
需要随机访问(通过下标),用arraylist
vector是arraylist在stl的等价品
需要先进后出,不需要随机访问,用stack
需要先进先出,用queue
ArrayList底层实现是数组,所以适合实现快速查询,不适合插入和删除节点频繁的操作
LinkedList 底层实现是双向链表,适合插入和删除节点频繁的操作,不适合快速查询
Vector 可以看成是ArrayList 的线程安全版本
Stack 是栈,适用于先进后出的使用场景。该集合类也是线程安全的