1.保存 T 类型的对象到Map成员变量中
2. /从从map 中获取id对应的对象
3. 替换map中key 为id的内容,改为entity对象
4. 返回 map 中存放的所有 T 对象
重点注意向上造型和向下造型
6. 删除指定id对象
public class Test1<T> {
private Map<String,T> map;
1.保存 T 类型的对象到Map成员变量中
public void save(String id,T entity){
map.put(id,entity);
}
//从从map 中获取id对应的对象
public T get(String id){
return map.get(id);
}
// 替换map中key 为id的内容,改为entity对象
//考虑没有id或者有id,id的值为null
public void update( String id,T entity){
if(map.containsKey(id)){
map.put(id,entity);
}
}
//返回 map 中存放的所有 T 对象
public List<T> list(){
/*//Collection强转成List向下造型,强转错误
//person强转成Object正确
Collection<T> value=map.values();
return (List<T>)value;*/
ArrayList<T> list = new ArrayList<>();
Collection<T> values=map.values();
for(T t :values){
list.add(t);
}
return list();
}
//删除指定id对象
public void delete(String id){
map.remove(id);
}
}
测试类:
public class Test1toT {
public static void main(String[] args) {
Test1<User> test1 = new Test1<>();
test1.save("1001",new User(1000,34,"刘德华"));
test1.save("1002",new User(1000,334,"德华"));
test1.save("1003",new User(1000,345,"华"));
List<User> list = test1.list();
// System.out.println(list);
list.forEach(System.out::println);
}
}
测试结果:
User{id=1000, age=345, name=‘华’}
User{id=1000, age=334, name=‘德华’}
User{id=1000, age=34, name=‘刘德华’}