-2

すでに入力されているハッシュマップがあります。abc123 を 123 にマッピングしました。

最初に test というオブジェクトを宣言し、abc123 の値を指定します。

次に、ハッシュマップに abc123 が含まれているかどうかを確認します。

true の場合は、if ステートメントに入り、abc123 のマッピングを取得して、それを value という文字列に入れます。

次に、 abc123 を 123 だけに置き換えたい

これで、ハッシュマップ キーは 123 になり、値は 123 になりました

123 の値を取り除くにはどうすればよいですか

マッピングを 123 に出力して null を取得できるようにしたい

public void replace1(Map<String, String> barcodeMap) {
  Object test = "abc123";

  if (barcodeMap.containsKey(test)) {

     System.out.println("HERE I WILL PRINT THE MAPPING OF AGILENT         " + barcodeMap.get(test)); //output here is 123

     String value = barcodeMap.get(test);

     System.out.println("THE MAPPING OF VALUE SHOULD BE NULL     " + barcodeMap.get(value)); //output here is null

     barcodeMap.put(value, barcodeMap.remove(test));

     System.out.println("HERE I WILL PRINT THE MAPPING OF AGILENT it should be null:::::   " + barcodeMap.get(test)); //output here is null

     System.out.println("HERE IS THE MAPPING OF VALUE::::::::::::::       " + barcodeMap.get(value)); //output here is 123, i want it to be null here

  }

}

4

3 に答える 3

2

removeメソッドを使用して、からキーと値のペアを削除しますMap(リンクされたドキュメントを参照してください)。

barcodeMap.remove(value);

... Map.


キーを残しておき、nullその値として保持したい場合は、さらに簡単です。キーに実際に必要な値を追加するだけです。すべてが1行になりました:

barcodeMap.put(barcodeMap.remove(test), null);

barcodeMap.remove(test)これにより、 の結果がのキーとして に追加されbarcodeMap、値は になりnullます。

于 2013-09-24T14:08:40.383 に答える
2

代わりにbarcodeMap.put(value, barcodeMap.removre(test));使用

barcodeMap.remove(test); barcodeMap.put(value, null);

于 2013-09-24T14:16:32.637 に答える
1

JavaDoc で HashMap を確認してください。

remove() メソッドがあります。

于 2013-09-24T14:08:47.757 に答える