ArrayBufferのArrayBufferにArrayBufferを追加しようとしていますが、結果は私にとっては奇妙なようです。ArrayBufferのArrayBufferにArrayBufferを効果的に追加する方法はありますか?
def main(args: Array[String]) {
println(initArray(List(1,2,5,20)))
}
def initArray(numbers: List[Int]): Int = {
var combination = ArrayBuffer[Int]()
var combinations = ArrayBuffer[ArrayBuffer[Int]]()
var finishedCombinations = ArrayBuffer[ArrayBuffer[Int]]()
// Init
for (number <- numbers) {
combination.clear()
combination.append(number)
println("combination : "+combination)
combinations.insert(0,combination)
println("combinations : "+combinations)
}
combinations.size
}
予想通り、私はサイズ4のArrayBufferを取得していますが、予想外の内容:
組み合わせ::ArrayBuffer(ArrayBuffer(1)、ArrayBufferを(
を得るために期待していました2)、ArrayBuffer(5)、ArrayBuffer(20))
が、私は得る:
の組み合わせ:ArrayBuffer(ArrayBuffer(20)、ArrayBuffer(20)、ArrayBuffer(20)、ArrayBuffer(20))
この動作は私には不明である、誰でも助けることができますか?
よろしくお願いいたします。
こんにちはレミ、お返事ありがとうございます。あなたは完全に正しいです、ちょうどvarの組み合わせ= ArrayBuffer [Int]()をループに移動して、前の割り当てを取り去ります。これを考慮して、clear()メソッドの使用例は何ですか?よろしく。 –