package com.temp;
import java.util.ArrayDeque;
import java.util.Deque;public class text {
/** * 使用队列实现堆栈 * 1、弹 * 2、压 * 3、获取头 * @author administrator * * @param <E> */ public static class MyStack<E>{ //容器 private Deque<E> container=new ArrayDeque<E>(); //容量 private int cap; public MyStack(int cap) { super(); this.cap=cap; } //压栈 public boolean push(E e) { if(container.size()+1>cap) { return false; } return container.offer(e); } //弹栈 public E pop() { return container.pollLast(); } //获取 public E peek() { return container.peekLast(); } public int size() { return this.container.size(); } }}
package com.temp;
import com.temp.text.MyStack;
public class Dotext {
/** * @param args * * * */ public static void main(String[] args) { MyStack<String> back =new MyStack<String>(4); back.push("www.baidu.com"); back.push("www.sina.com"); back.push("www.bjdfx.com"); back.push("www.jhde.com"); System.out.println("大小:"+back.size()); //遍历 String item=null; while(null!=(item=back.pop())) { System.out.println(item); }//栈 是一个车厢 最大的容量是3M
//堆 是一个火车 将内存中的零散空间组成的一张链式表格//数据基本类型就是储存在栈里面的
//数据存储在堆里面
//例如:
//String str=new String ("123");
//str就在栈里面
//123在堆里面
}}