scala學習第三章陣列相關操作

2021-07-04 17:06:54 字數 1358 閱讀 8422

val b = new arraybuffer[int]()  //或者 new arraybuffer[int]

b += 1 //arraybuffer(1) 用+= 在尾端新增元素

b += (1,2,3,5) //arraybuffer(1,1,2,3,5) 在尾端新增多個元素

b ++= array(1,2,3) //arraybuffer(1,1,2,3,5,1,2,3) 在尾端追加集合 用++=

b.trimend(5) //arraybuffer(1,1,2) 移除最後5個元素

b.insert(2,6) //arraybuffer(1,1,6,2) 在下標2之前插入

b.insert(2,7,8,9) //arraybuffer(1,1,7,8,9,6,2) 在下標2之前插入多個元素

b.remove(2) //arraybuffer(1,1,8,9,6,2)

b.remove(2,3) //arraybuffer(1,1,2) 第二個引數的含義是要移除多少個元素

/**移除陣列除除第乙個負數之外的所有負數

*/var list = arraybuffer(1,3,-3,-5,-7,3,2)

var first = true

//收集元素為負數的下標

val indexs = for( i <- 0 until list.length if first || list(i) >= 0) yield

//把為正數的元素移到到該去的位置,並且截斷

for(j <- 0 until indexs.length) list(j) = list(indexs(j))

list.trimend(list.length - indexs.length) //只有arraybuffer才可以用trimend

sorted

方法將陣列或者陣列緩衝排序並返回經過排序的陣列或陣列緩衝

,該方法不會修改原始陣列

val a = arraybuffer(1,7,2,9)

val asorted = a.sorted//a並沒有改變

多維陣列

val matrx = array.ofdim[double](3,4)	//三行,四列

可以建立不規則的陣列

val ******** = new array[array[int]](10)

for(i <- 0 until ********.length)

********(i) = new array[int](i + 1)

第三章 scala迴圈

1 三個基本的迴圈表示式 scala 1 to 10 res0 scala.collection.immutable.range.inclusive range 1,2,3,4,5,6,7,8,9,10 scala 1.to 10 res1 scala.collection.immutable.ra...

OpenGl學習第三章

上個星期學習了下金字塔的繪製,然後這週有看了看正方體的繪製,通過依次繪製6個面來繪製正方體,整體 跟上次的金三角沒有區別,只是座標點,顏色,已經繪製的 有點區別,上 看看 這是座標 private static float cubevertexcoords new float new float n...

C Primer Plus 第三章 學習

oop的本質是設計並拓展自己的資料型別,即讓型別與資料匹配。c 內建的型別,分為兩組 基本型別,復合型別。基本型別 整數,浮點數 復合型別 陣列,字串,指標和結構。標識儲存的資料的方法 使用變數 3.1簡單變數 程式必須記錄三個基本屬性 1.資訊將儲存在 2.要儲存什麼值 3.儲存何種型別的資訊 宣...