- public class LinkedListTest {
-
- public static void main(String[] args) {
- MyStack<String> stack = new MyStack<String>() ;
- stack.put("abc1");
- stack.put("abc2");
- stack.put("abc3");
- System.out.println(stack);
- while(!stack.isEmpty()){
- System.out.println(stack.get());
- }
-
- MyQuence<String> quence = new MyQuence<String>() ;
- quence.put("abc1");
- quence.put("abc2");
- quence.put("abc3");
- System.out.println(quence);
- while(!quence.isEmpty()){
- System.out.println(quence.get());
- }
- }
- }
-
- /*
- * 栈的特点是先进后出。
- */
-
- class MyStack<T>{
-
- private LinkedList<T> list ;
-
- public MyStack(){
- list = new LinkedList<T>();
- }
- //进栈方法,每次进来的元素只能添加在末尾
- public void put(T t){
- list.addLast(t);
- }
- //出栈方法,每次只能从末尾移除
- public T get(){
- return list.removeLast();
- }
-
- public boolean isEmpty(){
- return list.isEmpty();
- }
- @Override
- public String toString() {
- return list.toString();
- }
- }
-
- /*
- * 队列:先进先出
- */
- class MyQuence<E>{
- LinkedList<E> list ;
- MyQuence(){
- list = new LinkedList<E>() ;
- }
- //每次进来,添加到末尾
- public void put(E e){
- list.addLast(e);
- }
- //每次取出时,取最前面的元素
- public E get(){
- return list.removeFirst();
- }
- public boolean isEmpty(){
- return list.isEmpty();
- }
-
- @Override
- public String toString() {
- return list.toString();
- }
- }
复制代码 |
|