私は、コンストラクターが を取り、文字列の長さと文字列を保持する値を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