1. 数据结构
以下内容简单阐述常规的数据结构思想。
Array 效率高,长度固定,只容纳一种数据类型。
Set接口,对象引用的集合,内容不重复,不按照特定方式排序。
- HashSet:按照哈希算法来存取集合中的对象,存取速度比较快。
- TreeSet:实现了SortedSet接口,能够对集合中的对象进行排序。
- LinkedHashSet:具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。
List接口,其元素以线性方式存储,集合中可以存放重复对象。
- ArrayList: 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。
- LinkedList: 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。当作堆栈、队列和双向队列使用。
Map接口,键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 Map没有继承于Collection接口 从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。
HashMap
TreeMap
LinkedHashMap
WeakHashMap
IdentityHashMap
注意:尽量返回接口,而非实际的类型,如果以后需要将ArrayList换成LinkedList时,客户端代码不用改变。这就是针对抽象编程。