本章将讲述如何利用 java 类库帮助我们实现传统的数据结构.
将集合的接口与实现分离
队列接口
队列接口指出可以在队列的尾部添加元素 进队, 在队列头部删除元素 出队, 并且可以查找队列中元素的个数. 当需要搜集对象, 并按照"先进先出"的规则检索对象时就应该使用队列. 队列的最小形式, 类似:
interface Queue<T> { void add(E element); E remove(); int size(); }
队列通常有两种实现方式, 一种是循环数组, 另一种是链表.
-- 循环数组实现
class CirularArrayQueue<E> implements Queue<E> { CircularArrayQueue(int capacity) {} public void add(E element) public E remove() public int size() private E[] elements; private int head; private int tail; }
迭代器
Iterator, 是用来遍历集合的很好的工具. 有3个主要方法, hasNext() 判断是否还有下一个, E next() 返回下一个, void remove() 删除当前元素
具体的集合
1) 链表 LinkList
List<String> staff = new LinkList<String>();
sfaff.add("1");
staff.add("2");
Iterator iter = staff.iterator();
String fisrt = iter.next();
String second = iter.next();
iter.remove(); // 删除了最后的元素.
可以发现, java 中的许多数据结构, 为我们封装了内部的细节, 直接使用就可以了.
2) 数组列表 顺序表
直接使用 ArrayList 就可以了.
3) 树集
针对 java 版的数据结构, 需要一个专题总结, 所以, 详情, 请查看专题总结.