题目:
定义个泛型类DAO,在其中定义一个Map 成员变量,Map 的键为String 类型,值为T 类型。
分别创建以下方法:
public void save(String id,T entity):保存T 类型的对象到Map 成员变量中
public T get(String id):从map 中获取id 对应的对象
public void update(String id,T entity):替换map 中key为id的内容,改为entity 对象
public List list():返回map 中存放的所有T 对象
public void delete(String id):删除指定id 对象
定义一个User 类:
该类包含:private成员变量(int类型)id,age;(String 类型)name。
定义一个测试类:
创建DAO 类的对象,分别调用其save、get、update、list、delete 方法来操作User 对象,
DAO类
package com.sy.day03.work.generic;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: ShenYang
* @Date: 2023-06-14-16:25
* @Description: TODO
* <p>
* comment:
**/
public class DAO<T> {
Map<String, T> map = new HashMap<>();
public void save(String id,T entity){
map.put(id, entity);
}
public T get(String id){
return map.get(id);
}
public void update(String id,T entity){
map.replace(id, entity);
}
public List list(){
return Collections.singletonList(map.values());
}
public void delete(String id){
map.remove(id);
}
}
User类
package com.sy.day03.work.generic;
/**
* @Author: ShenYang
* @Date: 2023-06-14-16:30
* @Description: TODO
* <p>
* comment:
**/
public class User {
private int id;
private int age;
private String name;
public User() {
}
public User(int id, int age, String name) {
this.id = id;
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", age=" + age +
", name='" + name + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Test类
package com.sy.day03.work.generic;
import java.util.Iterator;
/**
* @Author: ShenYang
* @Date: 2023-06-14-16:31
* @Description: TODO
* <p>
* comment:
*
*
**/
public class Test {
public static void main(String[] args) {
DAO<User> dao = new DAO<User>();
dao.save("1", new User(1, 18, "user_1"));
dao.save("2", new User(2, 19, "user_2"));
dao.save("3", new User(3, 20, "user_3"));
for (Object o : dao.list()) {
System.out.print(o + " ");
}
System.out.print('\n');
System.out.println(dao.get(Integer.toString(2)).toString());
dao.update("1", new User(4, 21, "user_4"));
for (Object o : dao.list()) {
System.out.print(o + " ");
}
System.out.print('\n');
dao.delete("3");
for (Object o : dao.list()) {
System.out.print(o + " ");
}
}
}
结果