Scala学習ノートの---Array,ArrayBufferおよび遍歴配列(1)
4542 ワード
Array
Scalaでは、Arrayが表す意味はJavaと似ており、長さが変えられない配列でもある.また,ScalaとJavaはいずれもJVMで動作しているため,双方が互いに呼び出すことができるため,Scala配列の下位層は実際にはJava配列である.たとえば文字列配列は下位でJavaのString[]であり,整数配列は下位でJavaのInt[]である.
ArrayBuffer
Scalaでは、JavaのArrayListのような長さ可変の集合クラスが必要な場合は、ArrayBufferを使用します.
ArrayとArrayBufferを巡る
配列の一般的な操作
Scalaでは、Arrayが表す意味はJavaと似ており、長さが変えられない配列でもある.また,ScalaとJavaはいずれもJVMで動作しているため,双方が互いに呼び出すことができるため,Scala配列の下位層は実際にはJava配列である.たとえば文字列配列は下位でJavaのString[]であり,整数配列は下位でJavaのInt[]である.
// , ,
val a = new Array[Int](10)
a(0)
a(0) = 1
val a = new Array[String](10)
// Array() ,
val a = Array("hello", "world")
a(0) = "hi"
val a = Array("leo", 30)
ArrayBuffer
Scalaでは、JavaのArrayListのような長さ可変の集合クラスが必要な場合は、ArrayBufferを使用します.
// , ArrayBuffer
import scala.collection.mutable.ArrayBuffer
// ArrayBuffer() ArrayBuffer
val b = ArrayBuffer[Int]()
// += , ,
// ! spark !
b += 1
b += (2, 3, 4, 5)
// ++= ,
b ++= Array(6, 7, 8, 9, 10)
// trimEnd() ,
b.trimEnd(5)
// insert()
// ,
b.insert(5, 6)
b.insert(6, 7, 8, 9, 10)
// remove()
b.remove(1)
b.remove(1, 3)
// Array ArrayBuffer
b.toArray
a.toBuffer
ArrayとArrayBufferを巡る
// for until Array / ArrayBuffer
// until RichInt
for (i 0 until b.length)
println(b(i))
// Array / ArrayBuffer
for(i 0 until (b.length, 2))
println(b(i))
// Array / ArrayBuffer
for(i 0 until b.length).reverse)
println(b(i))
// “ for ” Array / ArrayBuffer
for (e
配列の一般的な操作
//
val a = Array(1, 2, 3, 4, 5)
val sum = a.sum
//
val max = a.max
//
scala.util.Sorting.quickSort(a)
//
a.mkString
a.mkString(", ")
a.mkString(", ",", ">")
// toString
a.toString
b.toString