프로그래밍/Scala

[Scala]Tuple, Array, List, Set

장경훈 2023. 4. 29. 13:53

*Tuple

  • 튜플은 원소가 변하지 않는다(불변성)을 가지고 있다
  • 다양한 타입의 원소를 튜플 안에 넣을 수 있다.

*예시

val res=(1,"team",true) //res: (Int, String, Boolean) = (1,team,true)

println(res._1) // 1
println(res._2) // "team"
println(res._3) // true
/*위와 같이 튜플의 특정 원소 출력은 ._(원소번호)로 선택할 수 있다.
  (중요) 여기서 특이한 점은 파이썬과 다르게 첫번째 원소의 번호가 1번인것이다.*/

*Array

  • 튜플과 다르게 원소를 변화시킬 수 있다.
  • 모든 원소가 같은 타입을 가져야 한다.

*예시

//기본적인 array 생성 방식
val a = new Array[String](2)
a(0)="hi"
a(1)="hello"

//간편한 생성 방식 scala가 자동으로 원소타입을 설정해줌
val a=Array("hi", "hello")

//원소 변경 방법
a.update(0, "test") // 0번째 원소를 test로 변경
a(0)="test" // 간편한 방법
//(중요) 튜플과 다르게 원소의 시작번호가 0번부터

//원소 출력
print(a.apply(0)) // 1번째 원소를 출력
print(a(0)) //간편한 방법

 

*List

  • 파이썬의 리스트와는 다르게 원소 변경 불가능
  • 리스트끼리 결합 가능

*예시

//기본적인 리스트 생성방법
val list_1=List(1,2,3)

// ::, Nil을 사용항 방법
val list_2= 4 :: 5 :: 6 :: Nil
//(중요) ::을 사용하여 리스트를 만들때 Nil이 없으면 생성 불가

//리스트 끼리 결합 방법 ::: 사용
val list_3 + list_1 ::: list_2

 

*Set

  • 파이썬의 집합 연산과 동일
val set_1=Set(1,2,2,2,3) // Set(1,2,3)과 동일

'프로그래밍 > Scala' 카테고리의 다른 글

[Scala]공부 시작 with udemy  (0) 2023.04.26