首頁 > Java > 從 ConcurrentHashMap 取得先前值和新值的函數方法

從 ConcurrentHashMap 取得先前值和新值的函數方法

王林
發布: 2024-02-08 22:40:37
轉載
948 人瀏覽過

php小編柚子這次為大家介紹 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中文網其他相關文章!

相關標籤:
來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板