#题一:
创建一DVD类,其中包含属性:名称、状态(String)、借出日期(Date)、借出次数(int),把如下显示的DVD添加到一个Map<String,DVD>集合中,并打印出所有DVD的信息,显示如下:
题二:
向题一中的map集合中添加DVD,如下:
请输入DVD名称:三傻大闹宝莱坞
新增《三傻大闹宝莱坞》成功!
题三:
删除DVD,如下:
请输入要删除的DVD名称: 泰坦尼克
删除《泰坦尼克》成功!
public class Dvd {
private String name;
private String state;
private String lend;
private Integer numof;
public Dvd() {
super();
// TODO 自动生成的构造函数存根
}
public Dvd(String name, String state, String lend, Integer numof) {
super();
this.name = name;
this.state = state;
this.lend = lend;
this.numof = numof;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getLend() {
return lend;
}
public void setLend(String lend) {
this.lend = lend;
}
public Integer getNumof() {
return numof;
}
public void setNumof(Integer numof) {
this.numof = numof;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((lend == null) ? 0 : lend.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((numof == null) ? 0 : numof.hashCode());
result = prime * result + ((state == null) ? 0 : state.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Dvd other = (Dvd) obj;
if (lend == null) {
if (other.lend != null)
return false;
} else if (!lend.equals(other.lend))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (numof == null) {
if (other.numof != null)
return false;
} else if (!numof.equals(other.numof))
return false;
if (state == null) {
if (other.state != null)
return false;
} else if (!state.equals(other.state))
return false;
return true;
}
@Override
public String toString() {
return "Dvd [name=" + name + ", state=" + state + ", lend=" + lend + ", numof=" + numof + "]";
}
public static void main(String[] args) {
Dvd d1 = new Dvd("《西游记》", "可借", "null", 5);
Dvd d2 = new Dvd("《泰坦尼克》", "可借", "null", 11);
Dvd d3 = new Dvd("《浪漫满屋》", "可借", "null", 8);
Dvd d4 = new Dvd("《风声鹤唳》", "可借", "null", 2);
Dvd d5 = new Dvd("《罗马假日》", "已借出", "2017-01-31", 6);
HashMap<String, Dvd> map = new HashMap<>();
map.put(d1.getName(), d1);
map.put(d2.getName(), d2);
map.put(d3.getName(), d3);
map.put(d4.getName(), d4);
map.put(d5.getName(), d5);
// 打印出所有DVD的信息
Collection<Dvd> va = map.values();
Iterator<Dvd> it = va.iterator();
System.out.println("\tDVD信息");
while (it.hasNext()) {
System.out.println(it.next());
}
// 请输入DVD名称:三傻大闹宝莱坞 新增《三傻大闹宝莱坞》成功!
Scanner input = new Scanner(System.in);
System.out.println("请输入DVD名称:");
String n = input.nextLine();
if (map.containsKey(n) == false) {
Dvd d = new Dvd();
d.setName(n);
map.put(d.getName(), d);
System.out.println("新增" + d.getName() + "成功!");
}
// 请输入要删除的DVD名称: 泰坦尼克 删除《泰坦尼克》成功!
System.out.println("请输入要删除的DVD名称:");
String un = input.nextLine();
Set<String> key = map.keySet();
Iterator<String> it2 = key.iterator();
while (it2.hasNext()) {
if (it2.next().equals(un)) {
it2.remove();
}
}
System.out.println("删除《泰坦尼克》成功!");
}
}