String
StringBuilder 线程不安全
StringBuffer 线程安全
Map
HashMap 线程不安全
LinkedHashMap 线程不安全
ConcurrentHashMap 线程安全
Set
HashSet 线程不安全
LinkedHashSet 线程不安全
CopyOnWriteArraySet 线程安全
List
ArrayList 线程不安全
Vector 线程安全
CopyOnWriteArrayList 线程安全
注 : Vector和CopyOnWriteArrayList都是线程安全的List,底层都是数组实现的,Vector的每个方法都进行了加锁,而CopyOnWriteArrayList的读操作是不加锁的,因此CopyOnWriteArrayList的读性能远高于Vector,Vector每次扩容的大小都是原来数组大小的2倍,而CopyOnWriteArrayList不需要扩容,通过COW思想就能使数组容量满足要求。两个集合都是先了RandomAccess接口,支持随机读取,因此更加推荐使用for循环进行遍历。在开发中,读操作会远远多于其他操作,因此使用CopyOnWriteArrayList集合效率更高。