http://caipeng.javaeye.com/category/69454
Java语言对数据结构中“队列”和“堆栈”的支持
在平时编程中,我们常常需要用到“队列”和“堆栈”这两种数据结构,有些程序员就自己实现了一个简单的队列和堆栈。虽然设计它们并不难,但是java语言 已经为我们设计好了,而且功能非常强大,那我们何必要费时间去做重复的事呢?!(除非你自己要练习这两种数据结构!)。
Java语言中的类:java.util.LinkedList,同时可以当作“队列”和“堆栈”来使用。也就是说,不管你在程序中需要一个“队列”还是“堆栈”,都是实例化一个该类的对象。
第一、如果当“队列”来使用,则常见的“在队列尾部添加元素”和“从队列头部删除元素”可如下实现:
1、 向队列尾部添加一个元素:
open.add(Str1);
2、 返回并删除队列头部元素:
public object remove();
第二、如果当作“堆栈”来使用,则常见的“在栈顶压入一个元素”和“从栈顶弹出一个元素”可如下实现:
1、向栈顶压入一个元素:
public void push(object e);
2、从栈顶弹出一个元素(同时也删除了该元素):
public object pop();
第三、还有一些操作,在“队列”和“堆栈”中都会用到:
1、返回并删除指定位置的元素:
public object remove(int index);//其中第一个元素的index为0
2、返回但不删除指定位置的元素:
public object get(int index);
3、返回第一个元素(不删除):
public object getFirst();
3、 返回最后一个元素(不删除):
public E getLast()
6、向指定位置添加一个元素:
public void add(int index, object element);//添加在index之前
4、 返回所包含的元素的个数:
public int size();
以上是我们在一般的程序中用到的一些常见操作,java语言中对类LinkedList还设计了很多的操作,虽然其中有很多操作都和上面这几种有重复,或者说可以通过这些来实现,但是也不乏有一些有用的操作供我们直接使用。详细情况可参阅其API文档。