본문 바로가기

스칼라

스칼라 기본(4)

1. 리스트

같은 타입의 객체로 이뤄진 변경 불가능한 시퀀스를 위해서는 스칼라의 List 클래스를 사용할 수 있다.

스칼라의 리스트인 scala.List는 변경 불가능하다는 점에서 자바의 java.util.List 타입과 다르다.

스칼라의 리스트는 함수 스타일의 프로그래밍을 위해 설계한 클래스다.

다음은 스칼라의 리스트를 만드는 방법이다.

val oneTwoThree = List(1, 2, 3)

리스트의 내용을 변경하는 척, 새 값을 갖는 리시트를 새로 만들어 반환하는게 스칼라의 리스트 특징.

':::'라는 메소드는 두 리스트를 이어붙인다.

val oneTwo = List(1, 2)
val threeFour = List(3, 4)
val oneTwoThreeFour = oneTwo ::: threeFour
println(oneTwo + " and " + threeFour + " were not mutated.")
println("Thus, " + oneTwoThreeFour + " is a new list.")

결과:

'콘즈(cons)'라 부르는 '::' 연산자는 새 원소를 기존 리스트의 맨 앞에 추가한 새 리스트를 반환한다.

val twoThree = List(2, 3)
val oneTwoThree = 1 :: twoThree
println(oneTwoThree)

결과:

 

빈 리스트를 Nil이라 쓸 수 있다.

 

2. 튜플

리스트와 마찬가지로 변경 불가능하지만 튜플에는 각기 다른 타입의 원소를 넣을 수 있다.

여러 객체를 반환해야 할 때 유용. 마치 자바의 dto처럼.

생겨먹은건 리스트랑 비슷한데, 접근은 ._1, ._2 로 가능하다. 인덱스는 1부터 시작한다.

'스칼라' 카테고리의 다른 글

스칼라 기본(5)  (0) 2021.12.26
스칼라 기본(3)  (0) 2021.12.06
스칼라 기본(2)  (0) 2021.12.06
스칼라 기본(1)  (0) 2021.12.05
스칼라 시작하기  (0) 2021.12.05