私は簡単な質問があります。私は私の問題のためにとても絶望的です。 私はループを使って、同じ値で異なるキーをマップに配置したいだけです。 私のメインは関数einfuegen()
を複数回実行します。次のコードブロックのように:ループ内でのMap.put(String、Integer)の使用
Woerterbuch woerterbuch2 = new Woerterbuch2();
for (Medium m : medienliste) {
for (String s : m.getWorte()) {
woerterbuch2.einfuegen(s);
}
}
ところで、私は変数のすべてのループと割り当てをテストしました。
今すぐeinfuegen()
には、すべての文字列s
をマップに入れる必要があります。次のコードブロックを参照してください:
public class Woerterbuch2 implements Woerterbuch{
HashMap<String, Integer> liste = new HashMap<>();
public void einfuegen(String word) {
// I have deleted all the previous unimportant code
liste.put(word, 1);
}
}
マイマップは唯一の機能einfuegen()
が複数回実行されているとword
に割り当てられている複数の異なる文字列があるが、一つのエントリが含まれています。 einfuegen()
が50回以上実行されているため、通常はマップに50以上の異なる単語が含まれている必要があります。
1は常にIntegerの同じインスタンスであるため、Javaでは接続が1
からword
に上書きされると仮定します。 私は正しいですが、私はまだそれを修正する方法を知らない。
ありがとうございました。 私は本当にそれを楽しみにしています=)
あなたは知っていますか何ローカル変数は? –
@SotiriosDelimanolisは答えです:) – HRgiger
あなたのコードの目的は何ですか?ある単語が本に出現する回数を数えようとしていますか?その場合、あなたの 'einfugen'メソッドは、' word'のたびに '1'のエントリを追加するだけですが、あなたがしたいのはあなたのマップにすでに存在するならばそれをインクリメント(+1)し、それに1を加える。 – mohammedkhan