Bagaimana cara mengonversi immutable.Map
ke mutable.Map
dalam Scala sehingga saya dapat memperbarui nilai di Map
?
scala
dictionary
scala-2.8
Łukasz Lew
sumber
sumber
: _*
sangat mirip dengan tipe ascription, yang memberi tahu kompiler tipe apa yang harus ditambahkan ke ekspresi yang diberikan. Anda dapat menganggapnya di sini seperti mengatakan "ambillah urutan ini, dan perlakukan itu sebagai sejumlah parameter vararg".sumber
O(1)
langkah. Ini terlihat menjadiO(n)
, walaupun itu tentu saja tergantung pada seberapa pintar pelaksanaan++
yaitu.O(n)
. Dalam batas saat Anda mengubah segalanya, itu harusO(n)
, meskipun Anda dapat mencoba untuk menunda pembuatan salinan baru untuk menghemat waktu, atau Anda menggandakan waktu akses Anda dengan membaca set perubahan daripada peta asli. Mana yang berkinerja terbaik mungkin tergantung pada kasus penggunaan Anda.Bagaimana kalau menggunakan collection.breakOut?
sumber
mutable.Map#apply
dengan sedikit lebih boilerplate.Memulai
Scala 2.13
, melalui pembangun pabrik yang diterapkan dengan.to(factory)
:sumber
Ada varian untuk membuat bisa berubah kosong
Map
yang memiliki nilai default yang diambil dari yang tidak bisa diubahMap
. Anda dapat menyimpan nilai dan mengganti default kapan saja:Peringatan (lihat komentar oleh Rex Kerr): Anda tidak akan dapat menghapus elemen yang berasal dari peta yang tidak dapat diubah:
sumber