Rumah >Java >Kaedah fungsi untuk mendapatkan nilai sebelumnya dan nilai baharu daripada ConcurrentHashMap

Kaedah fungsi untuk mendapatkan nilai sebelumnya dan nilai baharu daripada ConcurrentHashMap

王林
王林ke hadapan
2024-02-08 22:40:37934semak imbas

Editor PHP Youzi akan memperkenalkan kepada anda kali ini kaedah fungsi untuk mendapatkan nilai sebelumnya dan nilai baharu dalam ConcurrentHashMap. ConcurrentHashMap ialah pelaksanaan jadual cincang selamat benang yang biasa digunakan dalam pengaturcaraan serentak Java Ia menyediakan beberapa kaedah fungsi yang mudah untuk mengendalikan pasangan nilai kunci dalam jadual cincang. Ia termasuk kaedah fungsi untuk mendapatkan nilai sebelumnya dan nilai baharu Melalui kaedah ini, nilai yang sepadan dengan kunci dalam jadual cincang boleh dikendalikan dan dikemas kini. Seterusnya, kami akan memperkenalkan penggunaan dan langkah berjaga-jaga kaedah fungsi ini secara terperinci.

Kandungan soalan

Saya perlu mendapatkan nilai sebelumnya dan nilai baharu daripada java concurrenthashmap (dalam kod skala). Untuk memastikan ia selamat, saya menggunakan blok compute yang hanya mengembalikan nilai baharu. Adakah mungkin untuk mendapatkan kedua-dua nilai baru dan nilai sebelumnya tanpa menggunakan var dengan null awal? Inilah penyelesaian semasa saya:

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)
  }

Penyelesaian

Tidak. Versi semasa ConcurrentHashMap.

Atas ialah kandungan terperinci Kaedah fungsi untuk mendapatkan nilai sebelumnya dan nilai baharu daripada ConcurrentHashMap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam