Scala学習ノートの---Array,ArrayBufferおよび遍歴配列(1)

4542 ワード

Array
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