1.有时间大家可以研究下JDK的源码,现在只是先大概总结下。
2.List(①有序②可重复)
- ArrayList(①底层数组②线程不安全③注意remove有坑)
- LinkedList(①底层是双向链表②线程不安全全)
- Vector(①底层是数组②通过synchronized保证线程安全)
3.Set(不重复)
- HashSet(①无序②不重复③线程不安全)
- LinkedHashSet(①有序②不重复③线程不安全)
- TreeSet(①自然升序/或者指定比较器②不重复③线程不安全)
4.Map(键值对)
- HashMap(①无序②线程不安全)
- LinkedHashMap(①有序②线程不安全)
- TreeMap(①按键自然升序/或者指定比较器②线程不安全)
- HashTable(①通过synchronized保证线程安全)
5.String、StringBuilder、StringBuffer
String、StringBuilder、StringBuffer都是final类
final 修饰类 表示这个类不能再被继承
String不可变是因为 用一个
private final char value[];来保存字符串
StringBuilder是线程不安全的
StringBuffer通过synchronized保证线程安全