将不可修改列表中的元素添加到地图
Adding element from unmodifiable list to map
我不确定我是否想在这里做一些愚蠢的事情,但我找不到关于此事的任何合适信息。
我从远程位置通过 Collections.unmodifiableList(MyList) 获取列表。
然后我想将接收到的元素添加到一个 Map 中进行缓冲。
奇怪的是,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>
这与我的时间列表不可修改有关吗?无论如何我只想从地图中的元素读取信息。
提前致谢!
Map接口上没有add方法,应该使用put
buffer.put(e.getId(), e);
我不确定我是否想在这里做一些愚蠢的事情,但我找不到关于此事的任何合适信息。 我从远程位置通过 Collections.unmodifiableList(MyList) 获取列表。 然后我想将接收到的元素添加到一个 Map 中进行缓冲。 奇怪的是,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>
这与我的时间列表不可修改有关吗?无论如何我只想从地图中的元素读取信息。
提前致谢!
Map接口上没有add方法,应该使用put
buffer.put(e.getId(), e);