Java中的集合类型主要有三种List、set、Map三种集合类型
存储结构:
- List:存储有序元素,可以重复。通常通过索引来访问元素。
- Set:存储无序元素,不可以重复。
- Map:存储键值对(key-value)映射。key不能重复,value可以重复。
- List和Set允许包含null值。
- Map的key通常不能为null,value可以为null。
子类:
- List:ArrayList、LinkedList、Vector等。
- Set:HashSet、TreeSet等。
- Map:HashMap、Hashtable、TreeMap、LinkedHashMap等
线程安全:
- List中的Vector是线程安全的,其他的不是。
- Set中的HashSet不是线程安全的。
- Map中的Hashtable是线程安全的,其他的不是。
性能:
非线程安全的集合的性能一般要高于线程安全的集合。所以推荐使用非线程安全的集合,在需要时使用Collections.synchronizedList()方法使其线程安全。
synchronizedList()方法用于返回指定列表支持的同步(线程安全)列表。