#日常练习
用LinkedList实现队列和堆栈的数据结构
package Collection;
import java.util.*;
/*用LinkedList实现队列和堆栈的数据结构
* 思路:LinkedList内定义了getFirst()getLast()等等方法,
* 只需要将它们封装起来实现自己需要的数据结构就行
* 队列:First in first out(FIFO)
* 堆栈:First in last out(FILO)
* */
class DuiZhan{
private LinkedList link;
DuiZhan(){
link = new LinkedList();
}
public void duiZhanAdd(Object obj) {
link.addLast(obj);
}
public Object duiZhanRemove() {
return link.removeLast();
}
public Object duiZhanGet() {
return link.getLast();
}
public boolean duiZhanIsEmpty() {
if(link.isEmpty()) {
return true;
}
return false;
}
}
class DuiLie{
private LinkedList link;
DuiLie(){
link = new LinkedList();
}
public void duiLieAdd(Object obj) {
link.addLast(obj);
}
public Object duiLieRemove() {
return link.removeFirst();
}
public Object duiLieGet() {
return link.getFirst();
}
public boolean duiLieIsEmpty() {
if(link.isEmpty()) {
return true;
}
return false;
}
}
public class LinkedListTest {
public static void main(String[] args) {
DuiLie dl = new DuiLie();
dl.duiLieAdd("obj01");
dl.duiLieAdd("obj02");
dl.duiLieAdd("obj03");
dl.duiLieAdd("obj04");
while(!dl.duiLieIsEmpty()) {
System.out.println(dl.duiLieRemove());
}
System.out.println(".....");
DuiZhan dz = new DuiZhan();
dz.duiZhanAdd("obj01");
dz.duiZhanAdd("obj02");
dz.duiZhanAdd("obj03");
dz.duiZhanAdd("obj04");
while(!dz.duiZhanIsEmpty()) {
System.out.println(dz.duiZhanRemove());
}
}
}