package test;
import java.util.HashMap;
import java.util.List;
import java.util.Vector;
/*这里集成HashMap建 根据 实例化 TMap的建保持一直, 值 这是一个List 接口,我们把相同建的值存在这个List里面*/
public class TMap extends HashMap> {
private static final long serialVersionUID = 1L;
public List put(T key, V value) {
/* 判断该建是否已经存在 吗如果不存在 则放入一个新的Vector对象 */
if (!super.containsKey(key)) {
super.put(key, new Vector());
}
/* 这里获取 key对应的List*/
List list = super.get(key);
/* 将当前值,放入到 key对应的List中 */
list.add(value);
/* 返回当前 key对于的List对象*/
return super.get(list);
}
@Override
public List put(T key, List value) {
// TODO Auto-generated method stub
return super.put(key, value);
}
@Override
public List get(Object key) {
return super.get( key ) ;
}
public static void main(String[] args) {
TMap map = new TMap() ;
map.put("1", "2");
map.put("1", "3");
map.put("1", "4");
map.put("1", "5");
map.put("2", "7");
map.put("3", "4");
map.put("2", "3");
map.put("3", "2");
System.out.println( map );
}
}
需要注意的是如果不重载
public List put(T key, List value) {
// TODO Auto-generated method stub
return super.put(key, value);
}
会出现:Name clash: The method put(T, V) of type TMap