我们经常在淘宝,京东,亚马逊等电商平台浏览商品是,经常会看到最近浏览记录这一栏,如下图:
Q题目
现在要求,模拟一个类似的功能,实体为一个网上书店,要求显示最近的三条浏览记录。如下图
例如:
1)现有如下网上书店:
本站书籍目录:
JAVA
C++
C语言
Linux
Android
最近三次浏览记录:
2)第一次注册进去时,是没有浏览记录的
3)浏览第一个商品后,若为Java,显示界面
本站书籍目录:
JAVA
C++
C语言
Linux
Android
最近三次浏览记录:
JAVA
4)浏览第二个商品,若为C++
5)浏览第三个商品,若为Java,此时涉及一个排序问题了,最前的必须是最近浏览的。
6)浏览第四个商品,为C语言,
逻辑分析:
因为浏览记录设计到排序问题,为了避免排序,我们使用LinkedList集合来实现此处功能。
因为Linkedlist特点是:增删速断快,而且有addFirst(),remove()等方法。
此处,我使用Cookie来存储最近的浏览记录(当然,电商平台一般都是使用session实现)。Cookie中的key和value分别为ids,“1-2-3”等形式。
Cookie的value值说明:1-2-3
数字代表的是书籍的唯一编号id,这样我们可以将Cookie值按“-”拆分,取出id,再根据id,取出对应书籍。
实现代码
目录
book类
package com.tcb.domain;
public class Book {
private int id;
private String name;
private int price;
private String author;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getAuthor() {
return author;
}
public void set