**StringBuffer、StringBuilder **
1、相同点:
都是字符串的缓冲区,都是字符串的生成器,都是可变字符,底层都是字符数组,大部分方法相同,常用的方法有append(),insert();
2、不同 点
线程安全性,StringBuffer是线程安全的,在多线程情况下能保证数据安全,得益于StringBuffer中加了synchronized,但是这样效率会比较低,只能一条数据一条数据的添加或删除
StringBuilder是线程不安全的,在进行操作的时候效率比较高
StringBuilder和StringBufffer是字符缓冲区,初始化的容量为16个字符,
a 扩容是一次追加长度超过当前(初始)容量,则会按照 当前(初始)容量2+2 扩容一次
b 一次追加长度不仅超过初始容量,而且按照 当前容量2+2 扩容一次也不够,其容量会直接扩容到与所添加的字符串长度相等的长度。之后再追加,还会按照 当前容量*2+2进行扩容
Java 容器都有哪些?
Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示:
Collection(单列集合,顶层接口,可以分为有序顶层接口list 和无序顶层接口set)
List
(ArrayList LinkedList Vector Stack)
Set
(HashSet LinkedHashSet TreeSet)
Map(双列无序顶层接口 key -value)
(HashMap LinkedHashMap TreeMap ConcurrentHashMap Hashtable )