1、Collection集合
(1)Collection结合
遍历方式:迭代器 增强for 普通for
(2)List
有序 ,可重复
(3)ArrayList
有序,可放null;底层数组实现;线程不安全,效率较高
(4)Vector
底层数组实现;线程安全,效率较低
Vector 扩容机制:
(5)LinkedList
底层是链表实现,线程不安全;增删快。
ArrayList 和 LinkedList的区别:
(6)Set
无序;不允许重复元素; 可以且只能存放一个null值
(7)HashSet
无序;可以且只能存放一个null值;HashSet底层实际是HashMap
(7.1)TreeSet
(8)LinkedHashSet
有序:底层是数据+双向链表; 不允许重复元素
2、Map集合
(1)Map集合
(2)HashMap
无序;key不能重复,允许使用null键和null值;线程不安全,
(3)HashTable
不允许null键和null值;线程安全
HashTable 扩容机制:
(4)Properties
key和value不能为null;
五种方式让你在java中读取properties文件内容不再是难题
(5)TreeMap
3、Collection集合
2、单线程环境下的集合
单列集合:
ArrayList:线程不安全,效率较高
双列集合:
HashMap:线程不安全,效率较高
3、多线程环境下的集合
单列集合:
Vector:方法中有Syntronized锁,线程安全,效率较低
双列集合:
HashTable:线程安全,效率不高