Java 自己的多重映射实现,存在put问题
为了便于学习,我尝试制作一个MultiMap实现。(以及避免依赖其他图书馆来建立我自己的图书馆)。 它不一定是完美的 目前,我有以下几点:Java 自己的多重映射实现,存在put问题,java,hashmap,multimap,Java,Hashmap,Multimap,为了便于学习,我尝试制作一个MultiMap实现。(以及避免依赖其他图书馆来建立我自己的图书馆)。 它不一定是完美的 目前,我有以下几点: class MultiMap<k, v> implements Map { HashMap<k, List<v>> hMap = new HashMap<k, List<v>>(); public MultiMap () { } 我对这个有问题: @Override p
class MultiMap<k, v> implements Map {
HashMap<k, List<v>> hMap = new HashMap<k, List<v>>();
public MultiMap () {
}
我对这个有问题:
@Override
public Object put(Object o, Object o2) {
// will return a list
Object toReturn = get(o);
if(hMap.containsValue(o)) {
// is this even possible?
(List<v>)(List<?>)get(o); // <<< problem: "Syntax error on token(s), misplaced construct(s)"
// ^ next .add(o2);
}
// etc.
return toReturn;
}
@覆盖
公共对象put(对象o、对象o2){
//将返回一个列表
对象toReturn=get(o);
if(hMap.containsValue(o)){
//这可能吗?
(List)(List)get(o);//您这样定义类类MultiMap实现Map
然后添加新方法publicList put(k键,v值)
,如下所示
public List<v> put(k key, v value) {
List<v> list = get(key);
if(list == null)
list = new ArrayList<>();
list.add(value);
return list;
}
public List put(k键,v值){
列表=获取(键);
if(list==null)
列表=新的ArrayList();
列表。添加(值);
退货清单;
}
public List<v> put(k key, v value) {
List<v> list = get(key);
if(list == null)
list = new ArrayList<>();
list.add(value);
return list;
}