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