其实我们只需要两个栈即可,一个栈X记录页面,一个栈Y记录后退的页面
点击前进按钮,依次从Y 栈中取出页面添加到X栈中,当Y栈为空时,就不能在前进了....点击后退按钮,一次从X栈中取出页面添加到Y栈中,当X栈为空时,就不能在后退了....如下图所示
|c | | |
|b | | |
|a | | |
|__| |__|
X栈 Y栈
点击了后退按钮,将c页面存储到了Y栈中.此时显示的是b页面
| |...| |
|b | | |
|a | |c |
|__| |__|
X栈 Y栈
点击了前进按钮,将c从Y栈中取出,放入X栈中,此时显示的是c页面
|c | | |
|b...| | |
|a | | |
|__| |__|
X栈 Y栈
代码实现如下:
public class BrowserStack {
//前进栈froward