用集合做队列、栈

来源:互联网 发布:网红化妆品淘宝店 编辑:程序博客网 时间:2024/05/20 18:46

下面用代码演示,做简单的栈和队列


队列+测试


package cn.hncu.MySet3;import java.util.ArrayList;public class MyQueue<E>{private ArrayList<E> list=new ArrayList<E>(0);//队列用ArrayLIst最好public boolean enqueue(E e){return list.add(e);}public E dequeue(){if (list.size()==0) {return null;}return list.remove(0);}public boolean isEmpty(){if (list.size()==0) {return false;}else{return true;}}public ArrayList<E> getAll(){return list;}}



栈MyStat


package cn.hncu.MySet3;import java.util.ArrayList;import java.util.TreeSet;public class MyStack<E> {private ArrayList<E> set=new ArrayList<E>();public boolean in(E e){return set.add(e);}public E out(){if(set.size()==0){return null;}E e=set.remove(set.size()-1);return e;}}


测试 t1() t2() 为队列测试  图为栈测试


package cn.hncu.MySet3;import java.util.ArrayList;import java.util.Iterator;public class Test1 {public static void main(String[] args) {//t1();//t2();t3();}private static void t3() {MyStack<String > stack=new MyStack<String>();stack.in("333");stack.in("222");System.out.println(stack.out().toString());}private static void t2() {MyQueue<Integer> queue2=new MyQueue<Integer>();queue2.enqueue(1);queue2.enqueue(111);queue2.enqueue(-00);queue2.enqueue(300);//queue.enqueue(2);//不行,不是Stringqueue2.dequeue();queue2.dequeue();ArrayList<Integer> list=queue2.getAll();Iterator<Integer> it=list.iterator();while(it.hasNext()){Integer s=it.next();System.out.println(s);}}private static void t1() {MyQueue<String> queue=new MyQueue<String>();queue.enqueue("1");queue.enqueue("aaa");queue.enqueue("bbb");queue.enqueue("ccc");//queue.enqueue(2);//不行,不是Stringqueue.dequeue();queue.dequeue();ArrayList<String> list=queue.getAll();Iterator<String> it=list.iterator();while(it.hasNext()){String s=it.next();System.out.println(s);}}}



0 0