君子攸宁

导航

LinkedList实现堆栈或者队列

package java_test;

import java.util.LinkedList;

public class LinkedListTest {

	public static void main(String[] args) {
		/*
		 * 练习:请通过LinkesList实现一个堆栈,或者队列数据结构
		 * 堆栈:先进后出(子弹弹夹) First in  Last out
		 * 队列:先进先出  First in   First out
		 */
		Myqueue queue = new Myqueue();//创建自定义队列对象
		//添加元素
		queue.myAdd("abc1");
		queue.myAdd("abc2");
		queue.myAdd("abc3");
		queue.myAdd("abc4");

		//获取所有元素,先进先出
		while(!queue.isNull()){
			System.out.println(queue.myGet());
		}
	}

	static class Myqueue{

		private LinkedList link;

		Myqueue(){
			link = new LinkedList();
		}
		/*
		 * 添加元素的方法
		 */
		public void myAdd(Object obj){
			//内部使用的是LInkedList的方法
			link.addFirst(obj);
		}
		/*
		 * 取元素的方法
		 */
		public Object myGet(){
			return link.removeLast();
		}
		/*
		 * 集合中是否有元素的方法
		 */
		public boolean isNull(){
			return link.isEmpty();
		}
	}

}

 存和取   有First  Last ,如果保持不一致  就是队列,先进先出

      否则是堆栈 先进后出

posted on 2017-07-24 16:48  君子攸宁  阅读(219)  评论(0编辑  收藏  举报