背景
各种编辑器都有后退功能,word、excel、ps等等。还有ProcessOn等很多在线工具,也有后退功能。通过栈先进后出这一特性,可以更好的实现这个后退功能。此,通过栈实现浏览器后退功能。
后退功能思路图
利用栈先进后出的特性,创建一个栈,将浏览记录压栈,点击后退按钮弹栈。
网上有很多自己实现栈的例子,在这里不再多说。这个功能实现很简单,只需要用jdk自带的Stack
即可实现。
public static void main (String[] args)
{
//创建栈
Stack stack = new Stack ();
//浏览记录后,压栈
stack.push ("www.baidu.com");
stack.push ("www.google.com");
//点击后退,弹栈
Object pop = stack.pop ();
System.out.println (pop);
}
另外如果数据需要分布式存储的场景,可以通过redis进行存储。通过redis的list数据结构也可以完成这种压栈和弹栈的功能。
redis>lpush url www.baidu.com
"1"
redis>lpush url www.google.com
"2"
redis>lpop url
"www.google.com"
通过lpush
完成压栈操作。通过lpop
完成弹栈操作。