package Queue接口_单项队列_模拟业务_自定义堆栈;
import java.util.ArrayDeque;
import java.util.Deque;
/**
-
使用队列实现自定义堆栈;Deque:双向 两端访问
-
1.弹栈
-
2.压栈
-
3.获取头
-
@param
*/
public class MyStack {//MyStack我的堆栈
//container容器
private Deque container = new ArrayDeque();private int cap;//容量
public MyStack(int cap) {
super();
this.cap = cap;//容量
}
//压栈
public boolean push(E e){//push增加
if(container.size()+1>cap){//size大小,尺寸
return false;
}
return container.offerLast(e);//offerLast提供最后一次
}
//弹栈
public E pop(){//pop弹出
return container.pollLast();//pollLast调查最后
}
//获取
public E peek(){//peek偷看;获取
return container.peekLast();//peekLast看最后
}
//
public int size(){
return this.container.size();
}
}
//----------------------------------------------------
package Queue接口_单项队列_模拟业务_自定义堆栈;
//测试自定义堆栈
public class Dewmo02 {
public static void main(String[] args) {
MyStack backHistory = new MyStack(3);//backHistory过去的历史
backHistory.push(“www.baidu.com”);
backHistory.push(“www.google.com”);
backHistory.push(“www.sina.com”);
backHistory.push(“www.bjsxt.cn”);
//测试容量大小
System.out.println(“大小:”+backHistory.size());
System.out.println("********************");
//遍历
String item = null;//item项目
while (null!=(item = backHistory.pop())){
System.out.println(item);
}
}
}
//结果-------------------------------------------
大小:3
www.sina.com
www.google.com
www.baidu.com