我正在编写一个类,它的构造函数接受一个List<String>
并返回一个哈希图,其长度为字符串key(Integer)
,其值为arrayList<String>
保存字符串。那就是我试图将字符串的长度映射到字符串列表。这是我的代码。
public class Solver {
Map<Integer,ArrayList<String>> inventoryMap;
//constructor
public Solver(List<String> list){
inventoryMap=new HashMap<Integer,ArrayList<String>>();
for (String s : list) {
int x = s.length();
if (inventoryMap.containsKey(x)){
inventoryMap.put(x,inventoryMap.get(x).add(s));
} else {
newlist=new ArrayList<String>();
newlist.add(s);
inventoryMap.put(x,newlist);
}
}
}
当我编译这段代码时,我收到以下错误
Solver.java:12: put(java.lang.Integer,java.util.ArrayList<java.lang.String>) in java.util.Map<java.lang.Integer,java.util.ArrayList<java.lang.String>> cannot be applied to (int,boolean)
inventoryMap.put(x,inventoryMap.get(x).add(s));
我想我在添加哪个地图时出错了String elements
,你能指导我解决我可能出错的地方吗?my ArrayList<String>
value