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中文網其他相關文章!