所以我試圖在 Scala 的可變陣列中創建一個大小為 10 的不可變陣列。在這個不可變陣列中,我想存盤鍵值對。到目前為止,我有這個可變陣列:
val array1 = mutable.ArrayBuffer[Option[IndexedSeq[(A,B)]]]()
現在要在 array1 中創建一個不可變的緩沖區,我會這樣做:
array1(0) = immutable.ArrayBuffer[](10)
我對型別的不可變緩沖區的括號內會出現什么感到困惑。
uj5u.com熱心網友回復:
沒有immutable.ArrayBuffer。 ArrayBuffer是可變的。
TraitIndexedSeq可以對應于不可變和可變集合,因此您可以選擇將什么用作內部元素:
type A = Int
type B = Int
val array1 = mutable.ArrayBuffer[Option[IndexedSeq[(A,B)]]]()
// Adds immutable Vector
array1 = Some(IndexedSeq[(A, B)]( (1,2), (3,4) ))
// Adds mutable ArrayBuffer
array1 = Some(ArrayBuffer[(A, B)]( (1,2), (3,4) ))
請注意,由于您的內部元素是Option[IndexedSeq[...]],因此您需要將要添加的元素包裝在 中Some。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/358570.html
上一篇:如何在AkkaHttp中拆分路由
