[Java] 堆栈保存访问url历史记录,实现返回上一页 →→→→→进入此内容的聊天室

来自 , 2019-05-08, 写在 Java, 查看 100 次.
URL http://www.code666.cn/view/4e0928de
  1. public class SequenceStack {
  2.         private String[] urls; // 数组,存储用户请求的url
  3.         private int top; // 栈顶指针
  4.         private final static int maxSize = 20; // 数组长度
  5.  
  6.         public SequenceStack() {
  7.                 urls = new String[maxSize];
  8.                 top = -1;
  9.         }
  10.  
  11.         // url入栈
  12.         public void push(String url) {
  13.                 if (top == maxSize - 1) { // 栈满处理
  14.                         if (url.equals(urls[top])) {// 防止刷新,如果栈顶url与传入的url相等,即为刷新操作
  15.                                 return;
  16.                         }
  17.                         // 更新数组保存的url
  18.                         String[] otherUrls = urls.clone();
  19.                         for (int i = 0; i <= maxSize - 1; i++) {
  20.                                 if (i == top) {
  21.                                         break;
  22.                                 }
  23.                                 otherUrls[i] = urls[i + 1];// 前移
  24.                         }
  25.                         otherUrls[top] = url;
  26.                         urls = otherUrls;
  27.                 } else { // 栈未满
  28.                         top++;
  29.                         urls[top] = url;
  30.                 }
  31.         }
  32.  
  33.         // 栈顶元素即为前页的url
  34.         public String pop() {
  35.                 if (top == -1 || top == 0) {
  36.                         return null;
  37.                 }
  38.                 return urls[top];
  39.         }
  40.  
  41.         public String[] getUrls() {
  42.                 return urls;
  43.         }
  44.  
  45.         public void setUrls(String[] urls) {
  46.                 this.urls = urls;
  47.         }
  48.  
  49.         public int getTop() {
  50.                 return top;
  51.         }
  52.  
  53.         public void setTop(int top) {
  54.                 this.top = top;
  55.         }
  56.  
  57.         public static int getMaxsize() {
  58.                 return maxSize;
  59.         }
  60. }

回复 "堆栈保存访问url历史记录,实现返回上一页"

这儿你可以回复上面这条便签

captcha