LinkedList

来源:互联网 发布:h5穿上军装源码 编辑:程序博客网 时间:2024/05/21 14:54

LinkedList是双向列表,就相当于是一个队列,列表中的每个节点都包含了对前一个和后一个元素的引用,可以在任意一端添加或移除元素。
它包含支持双向队列的方法,但是在java标准类库中没有任何显示的用于双向队列的接口。但是可以使用一个组合来创建一个Deque类,并直接从LinkedList中暴露相关的方法。

import java.util.LinkedList;public class Deque<T> {    private LinkedList<T> deque = new LinkedList<T>();        public void addFirst(T e) {            deque.addFirst(e);        }        public void addLast(T e) {            deque.addLast(e);        }        public T getFirst() {            return deque.getFirst();        }        public T getLast() {            return deque.getLast();        }        public T removeFirst() {            return deque.removeFirst();        }        public T removeLast() {            return deque.removeLast();        }        public int size() {            return deque.size();        }        // add other methods}public class Test1 {    public static void fillTest(Deque<Integer> deque) {        for (int i =20; i < 27; i++) {            deque.addFirst(i);        }        for (int i = 40; i<50; i++) {            deque.addLast(i);        }    }     public static void main(String[] args) {              Deque<Integer> d1 = new Deque<Integer>();            fillTest(d1);           while(d1.size() != 0) {              System.out.print(d1.removeFirst() + " ");           }           while(d1.size() != 0) {               System.out.print(d1.removeFirst() + " ");           }     }}

运行结果:26 25 24 23 22 21 20 40 41 42 43 44 45 46 47 48 49

0 0