温故而知新,回牟一看,大不同。
ArrayList:
线程不安全,不同步, 元素是有顺序,列表允许重复的元素,可以储存null值。
ArrayList的默认大小是 10 个元素。
ArrayList扩容增量:原容量的0.5倍+1,如 ArrayList的容量为10,一次扩容后是容量为16;
ArrayList基于动态数组的实现,随机访问元素快,但是在中间插入和移除元素时较慢
Vector:
Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe)
Vector初始化默认值为10,自增为2n
LinkedList:
LinkedList基于链表实现,在List中间进行插入和删除的代价较低,提供了优化的顺序访问。LinkedList在随机访问方面相对比较慢。
HashMap:
线程不安全、不同步的。存储是键值对,无序的
为了避免进程不安全,在并发的情况下,我们可以使用ConcurrentHashMap来代替HashMap
static Map map = new ConcurrentHashMap<>();