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在堆里面
}
}