[Java] 浏览器浏览历史记录实现 url栈 →→→→→进入此内容的聊天室

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

回复 "浏览器浏览历史记录实现 url栈"

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

captcha