使用 LinkedList 制作一个栈

来源:互联网 发布:国内投行收入 知乎 编辑:程序博客网 时间:2024/06/05 08:33
“队列(queue)”是一个“先进先出”(FIFO)容器。即从容器的一端放入事物,从另
一端取出。因此事物放入容器的顺序与取出的顺序是相同的。LinkedList 提供了方法以支
持“队列”的行为,因此可以用来制作 Queue 类:


//: c11:Queue.java
// Making a queue from a LinkedList.
import com.bruceeckel.simpletest.*; 
import java.util.*; 


public class Queue { 
private static Test monitor = new Test(); 
private LinkedList list = new LinkedList(); 
public void put(Object v) { list.addFirst(v); } 
public Object get() { return list.removeLast(); } 
public boolean isEmpty() {return list.isEmpty(); } 
public static void main(String[] args) { 
    Queue queue = new Queue(); 
for(int i = 0; i < 10; i++) 
      queue.put(Integer.toString(i)); 
while(!queue.isEmpty()) 
      System.out.println(queue.get()); 
    monitor.expect(new String[] { 
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9"
    });
  }
} ///:~

你也可以很容易地通过 LinkedList 创建一个“双向队列”,它同“队列”一样,不过可以

从两个方向添加和删除元素。


原创粉丝点击