Java基本容器类包括:List,Set,Queue,Map
List,Set,Queue继承自Collection
Set
接口实现类包括 HashSet,TreeSet,LinkedHashSet。 不保存重元素
HashSet:最快获取元素方式,快速查找
TreeSet:按照比较结果的升序保存对象
LinkedHashSet:按照被添加的顺序保存对象
List
ArrayList:随机访问元素速度快,在list中间插入删除操作慢
LinkedList:代价较低的在list中间进行插入和删除操作,提供了优化的顺序访问,随机访问相对较慢,特性比ArrayList大
LinkedList添加了使其用作栈,队列或双端队列的方法,实现Deque,Queue接口
Map
HashMap:最快的查找技术,没有按照任何明显顺序保存元素
TreeMap:按比较结果的升序保存键
LinkedHashMap:按照插入顺序保存键,同时保留了HashMap的查询速度
Map与Collection之间唯一的重叠就是Map可以使用entrySet()和values()方法来产生Collection
图 取自 Thinking in Java