Scala学習ノート--配列

2021 ワード

Scalaにとって配列はかなり必要な内容であるため,把握が重要である.配列は2種類に分けられます:定長配列(Arraybuffer)Array://10個の整数の配列、すべての要素の初期化は0 val nums=new ArrayString
//   2 Array[String]--        
// :          new 
val s = Array("hello","Spark")

Arraybuffer: import scala.collection.mutable.ArrayBuffer//またはnew ArrayBuffer[Int]は空の配列バッファであり、整数val b=ArrayBufferInt//ARrayBuffer[1]を格納する準備をしている.+=末尾にb+=1 b+=(1,2,3,4)//++=オペレータを追加する任意のセットb++=Array(8,13,21)//最後の5要素b.trimEnd(5)//下付き2の前に6 b.insert(2,6)//下付き2の前に挿入:7,8,9 b.insert(2,7,8,9)//下付き2の削除b.remove(2)//下付き2から3 b.remove(2,3)を削除する1>ループ遍歴フォーマット:for(i<-0 until a.length)println(a(i))//>nullはまた、for(elem<-a)println(elem)2>配列変換vala=Array(2,3,5,7,11)/>a:Array[Int]=Array(2,3,5,7,11)valresult=for(elem<-a)yield 2*elem///>result:Array[Int]=Array(4,6,6,6,6,6,6,6),10,14,22)for(...)yieldループは新しい配列を作成したり、元の配列を変更したりすることはありません//遍歴中に条件を満たすフィルタリングだけをしたい場合は、ガードによって実装することができます.forにif実装for(elem<-a if(elem%2==0))yield 2*elemを追加することです.
//        :
a.filter(_ % 2 == 0).map(2*_)

//  :            :     ,        BigInteger/BigDecimal
Array(1,7,2,9).sum               //> res0: Int = 19
ArrayBuffer(1,7,2,9).sum         //> res1: Int = 19

//      ,  max              
ArraryBuffer("Mary","had","a","little","lamb").max //little

sorted                           ,            :
val b = ArraryBuffer(1,7,2,9)
val bSorted = b.sorted(_ < _)//b     ,bSorted ArraryBuffer(1,2,7,9)
val bSorted = b.sorted(_ > _)//b     ,bSorted ArraryBuffer(9,7,2,1)

                ,    mkString  ,              。
a.mkString(" and ")
//"1 and 2 and 7 and 9"
a.mkString("<",",",">")
//"<1,2,7,9>"
     Array[Array[Double]]     ofDim  :
val matrix = Array.ofDim[Double](3,4)//3 ,4 
//        ,   
matrix(1)(2) = 42
//        ,          
val triangle = new Array[Array[Int]](10)
    for(i <- triangle)
        triangle(i) = new Array[Int](i + 1)