java怎么实现历史修改记录_java历史记录封装实现
前些天⼯作中遇到这样⼀个需求——使⽤cookie记录浏览记录。java可以通过LinkedList完成两端操作,于是很快就封装了⼀个⽐较好的历史记录⼯具类:package com.zhengshuiguang.blog;
import java.util.LinkedList;
public class HistoryList {
private int listSize = 3;
private String seperator = "-";
private LinkedList list = new LinkedList();
/**
* 空参构造
*/
public HistoryList() {
super();
}
/**
* 通过历史记录值进⾏初始化
* @param value
* @param seperator
*/
public HistoryList(String value, String seperator) {
super();
this.seperator = seperator;
if(value != null) {
/
/ 切割value字符串
String[] split = value.split(seperator);
for (int i = 0; i
if(!ains(split[i])) {
list.add(split[i]);
}
}
}
}
/**
* 添加记录
* @param string
*/
public void add(String string) {
// 先查元素是否存在于list中
ains(string)) {
// 将该元素从list中移除
}else{
// 判断list的长度是否超过listSize
if(list.size() >= listSize) {
// 删除最后⼀个元素
}
}
// 添加到元素的头部
list.addFirst(string);
}
/**
* 删除指定值的元素
* @param string
* @return
*/
public boolean remove(String string) {
ve(string);
}
/**
* 转换为字符串
*/
public String toString() {
StringBuilder sb = new StringBuilder();
for (String string : list) {
sb.append(string+"-");
}
return sb.length() > 0 ? sb.toString().substring(0, sb.length()-1) : "";
}
//=====================get/set===================== public int getListSize() {
return listSize;
}
public void setListSize(int listSize) {
this.listSize = listSize;
}
public String getSeperator() {
return seperator;
}
public void setSeperator(String seperator) {
this.seperator = seperator;
}
}
实现原理很简单,操作⽅法更简单:package com.zhengshuiguang.blog; public class Demo {
public static void main(String[] args) {
// 创建⼀个空的历史记录对象
HistoryList list = new HistoryList();
list.add("1");
list.add("3");
list.add("1");
list.add("4");
// 转换为字符串
System.out.String());
// 通过⼀个历史记录字符串创建对象恢复历史浏览记录
String history = "1-3-1-4";
list = new HistoryList(history, "-");
System.out.String());
}
}
OK,就是这么简单!
转载随意,但请附上⽂章地址:-)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论