3. Array Definition and Usage
val array = new Array[Int](10)
Int형 10칸짜리 배열 생성
val array = Array(1,2,3)
Int형 3칸짜리 배열 생성과 동시에 초기화
print array(2)
Index가 2인 값 출력
4. Multi Dimensional Array
C언어에서 포인터로 배열 만들 때 개념을 생각하면 용이.
val matrix = Array.ofDim[Int](3,4)
Array의 메서드로 생성가능
val matrix = Array(Array(2,3),Array(4,5,6));
이런 식으로 각각 에 대하여 정의가능
println(matrix(1)(2))
C언어에서 []대신 ()를 사용할수 있음.
5. Mutable Array (Collection)
Java 의 ArrayList와 상응하는 ArrayBuffer가 있음.
Definition
val arr = ArrayBuffer[Int]()
Var arr = new ArrayBuffer[Int]
Add and modify
arr += 1 //1을 추가
arr += (2,3,4) //2,3,4를 모두 추가
arr ++= ArrayBuffer(5,6,7,8) //Collection또한 추가가능
arr.insert(2,9)
println(arr(3))
6. yield
Loop에서 컬렉션을 생성하는 방법
val orign = Array(1,2,3,4,5)
val after = for(a<-orign) yield a*2
// (2,4,6,8,10) 이 after에 저장됨.
// yield는 for문에 옵션으로 붙는것으로
//for문 내용의 return값을 저장함.
8. Array 내장 함수
arr.sum
원소들의 총합을 구함.
arr.max / arr.min
원소들 중 최댓값/ 최솟값을 구함
arr.count
원소의 개수를 구함
9. Java와의 연동
Java의 java.util.List(Interface)와 Scala의
scala.collection.mutable.Buffer(Trait)과 상호 변경 가능
예)
val pb = new ProcessBuilder(ArrayBuffer(“ls”, “-ls”, “/home/”))
val 층 : buffer[String] = pb.command()