队列
- 队列(queue):当需要收集对象,并按照“先进先出”的规则检索对象时用队列。
- 队列通常有两种实现方式:一种是使用循环数组;另一种是使用链表。
- 在java中,如果需要一个循环数组队列,就可以使用ArrayDeque类,如果需要一个链表队列,就直接使用LinkedList类,这个类实现了Queue接口。
- 循环数组要比链表更高效,但是循环数组是一个有界集合,即容量有限。如果程序中要收集的对象数量没有上限,就最好使用链表来实现。
java类库中的集合接口和迭代接口
- 集合接口:Collection - 基本方法:boolean add(E element),Iterator iterator()
- 迭代接口:Iterator - 基本方法:E next(),boolean hasNext(),void remove()
- 进行迭代时,元素被访问的顺序取决于集合类型,并非从头到尾,如果访问HashSet中的元素,每个元素将按照某种随机的次序出现,但是会遍历到集合中的所有元素,适合处理与顺序关系不大的业务逻辑。