0

私はHashMapを持っていてHashMap<Integer, List<String>> storeR、それは..を保存しますが、 ?"22,name1,name2"から削除する方法はありますか?22から名前1だけを削除したいのですが、どうすればよいですか。ありがとうございました。name122

4

3 に答える 3

4

マップからリストを取得し、削除したい要素を削除します。

storeR.get(22).remove("name1");

22マップにキーがない場合、またはその値が である場合、nullこれは をスローしNullPointerExceptionます。

于 2013-02-16T15:54:38.937 に答える
3

これに関してあなたが尋ねた質問を考えると、サードパーティのライブラリを使用する方が良いでしょう.GuavaにはMultimapさまざまな実装とのインターフェースがあります-おそらくArrayListMultimap.

その後、次のように書くことができます:

multimap.remove(22, "name1");

すべての作業を手動で行いたい場合は、マップを呼び出しリストgetを返し、リストを呼び出しremoveて値を削除できます。ただし、最後の値を削除した場合は、キーも完全に削除するかどうかを検討する必要があります。もちろん、キーがマップに既に存在するかどうかがわからない場合は、条件付きでのみ呼び出す必要がありますremove...

于 2013-02-16T15:56:11.950 に答える