ホームページ >Java >ConcurrentHashMap から以前の値と新しい値を取得する関数メソッド

ConcurrentHashMap から以前の値と新しい値を取得する関数メソッド

王林
王林転載
2024-02-08 22:40:37931ブラウズ

phpエディタYouziが今回はConcurrentHashMapで以前の値と新しい値を取得する関数メソッドを紹介します。 ConcurrentHashMap は、Java 並行プログラミングで一般的に使用されるスレッドセーフなハッシュ テーブル実装であり、ハッシュ テーブル内のキーと値のペアを操作するための便利な関数メソッドをいくつか提供します。以前の値と新しい値を取得するための関数メソッドが含まれており、これらのメソッドを通じてハッシュ テーブルのキーに対応する値を操作および更新することができます。次に、これらの関数メソッドの使い方と注意点を詳しく紹介します。

質問内容

Java concurrenthashmap(scalaコード内)から以前の値と新しい値を取得する必要があります。スレッドセーフを保つために、新しい値のみを返す compute ブロックを使用します。初期値が null の var を使用せずに、新しい値と前の値の両方を取得することはできますか?私の現在の解決策は次のとおりです:

map: ConcurrentHashMap[String, Object] = new ConcurrentHashMap

  def foo = {
    var previousValue: Object = null

    val newValue = map.compute("key", (_, value) => {
      previousValue = Option(value).getOrElse(initialValue)
      setNewValue(previousValue)
     }
    )

    (previousValue, newValue)
  }

解決策

いいえ。 ConcurrentHashMap の現在のバージョン。

以上がConcurrentHashMap から以前の値と新しい値を取得する関数メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。