import java.util.Collection;
import java.util.LinkedList;
/**
*集合List栈先进后出 原文来自 http://schy-hqh.iteye.com/blog/1969327
**/
public class Stack<E> {
private LinkedList<E> link;
public Stack() {
link = new LinkedList<E>();
}
public void add(E e) {
link.addFirst(e);
}
public void addAll(Collection<? extends E> coll) {
Object[] elements = coll.toArray();
int size = elements.length;
for(int index=size-1;index>=0;index--)
add((E)elements[index]);
}
public E getNext() {
return link.removeFirst();
}
public boolean isEmpty() {
return link.isEmpty();
}
}
/**
*集合List队列先进先出 原文来自 http://schy-hqh.iteye.com/blog/1969327
**/
import java.util.Collection;
import java.util.LinkedList;
public class Queue<E> {
private LinkedList<E> link;
Queue() {
link = new LinkedList<E>();
}
public void add(E e) {
link.addLast(e);
}
public void addAll(Collection<? extends E> coll) {
link.addAll(coll);
}
public E getNext() {
return link.removeFirst();
}
public boolean isEmpty() {
return link.isEmpty();
}
}
测试:
/**
* 队列测试
*/
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("123");
list.add("abc");
list.add("000");
printQueue(list);
}
private static void printQueue(List<String> list) {
Queue<String> queue = new Queue<String>();
queue.add("------------");
queue.addAll(list);
queue.add("$$$$$$$$$$$$");
while(!queue.isEmpty()) {
System.out.println(queue.getNext());
}
}
/**
* 栈测试
*/
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("123");
list.add("abc");
list.add("000");
printStack(list);
}
public static void printStack(List<String> list) {
Stack<String> stack = new Stack<String>();
stack.add("------------");
stack.addAll(list);
stack.add("$$$$$$$$$$$$");
while(!stack.isEmpty()) {
System.out.println(stack.getNext());
}
}