0

我不确定我是否想在这里做一些愚蠢的事情,但我找不到任何关于这件事的合适信息。我从远程位置通过 Collections.unmodifiableList(MyList) 获取列表。然后我想将接收到的元素添加到一个映射中以进行缓冲。奇怪的是 Eclipse 不允许我将所需的对象添加到地图中,并声明未为我创建的地图定义 add 方法。更准确地说,这是我的问题的代表性代码:

import java.util.Collection;
import java.util.List;
import java.util.Map;

private Map<String,MyElement> buffer = new HashMap<String,MyElement>();

private void receiveElements(){
    List<myElement> myList= Collections.unmodifiableList(remoteService.getElements());
    for(myElement e:myList){
       buffer.add(e.getId(),e);
    }
}

在我尝试将对象添加到缓冲区的行中,添加函数带有下划线,它告诉我:

The method add(String, myElement) is undefined for the type Map<String,myElement>

这与我的临时列表不可修改有关吗?无论如何,我只想从地图中的元素中读取信息。

提前致谢!

4

1 回答 1

0

在 Map 接口上 add 方法不存在,你应该使用put

buffer.put(e.getId(), e);
于 2019-03-06T11:42:27.560 回答