要求:记录十个用户最近浏览的商品,采用cookie存储,存储格式id1-id2-id3-id4-id5-id6-id7-id8-id9-id10。
下面是我的做法,我想知道用正则表达式如何来完成?那样的效率会不会更好一点         //id: 浏览的产品的id号
private void saveProduct(int id) {
String idStr = String.valueOf(id);
                  //cookieValue的格式是:id1-id2-id3-id4,最多十个
String[] values = cookieValue.split("-");
if(values == null || values.length == 0 || values[0].equals("")) {
cookieValue = idStr;
return;


StringBuffer sb = new StringBuffer();
int index = -1;
for(int i = 0; i < values.length; i++) {
if(idStr.equals(values[i])) {
index = i;
break;
}
}

if(index > -1) {
sb.append(idStr + "-");
for(int i = 0; i < values.length; i++) {
if(index != i) {
sb.append(values[i]).append("-");
}
}
sb.deleteCharAt(sb.length() - 1);
} else {
if(values.length == 10) {
for(int i = 1; i < values.length; i++) {
sb.append(values[i]).append("-");
}
sb.append(idStr);
} else {
sb.append(cookieValue).append("-").append(idStr);
}
}

cookieValue = sb.toString();
}