English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala 튜플

Scala 집합

리스트와 마찬가지로 튜플도 불변적이지만, 리스트와 달리 튜플은 다른 유형의 요소를 포함할 수 있습니다。

튜플의 값은 단일 값이 둘레 괄호로 포함된 것으로 구성됩니다. 예를 들어:

val t = (1, 3.14, "Fred")

위 예제에서는 튜플에 세 개의 요소를 정의했으며, 해당 유형은 [Int, Double, java.lang.String]입니다。

또한 다음과 같은 방식으로 정의할 수도 있습니다:

val t = new Tuple3(1, 3.14, "Fred")

튜플의 실제 유형은 요소의 유형에 따라 결정됩니다. 예를 들어 (99, "w3codebox")는 Tuple입니다:2[Int, String]。 ('u', 'r', "the", 1, 4, "me")는 Tuple입니다:6[Char, Char, String, Int, Int, String]。

현재 Scala가 지원하는 튜플의 최대 길이는 22更长한 길이의 경우, 집합 또는 확장 튜플을 사용할 수 있습니다。

정수 인덱스를 사용하여 튜플의 요소에 접근할 수 있습니다. 예를 들어 다음 튜플과 같이:

val t = (4,3,2,1)

t._를 사용할 수 있습니다:1 첫 번째 요소에 접근하는 방법은 t._입니다:2 두 번째 요소에 접근하는 방법은 다음과 같습니다:

object Test {
   def main(args: Array[String]) {
      val t = (4,3,2,1)
      val sum = t._1 + t._2 + t._3 + t._4
      println( "요소의 합은: "  + sum )
   }
}

위의 코드를 실행하면, 출력 결과는 다음과 같습니다:

$ scalac Test.scala 
$ scala Test
요소의 합은: 10

튜플 순회

튜플 요소를 교환할 수 있는 Tuple.productIterator() 튜플의 모든 요소를 순회하며 출력하는 메서드는 다음과 같습니다:

object Test {
   def main(args: Array[String]) {
      val t = (4,3,2,1)
      
      t.productIterator.foreach{ i =>println("Value = " + i )}
   }
}

위의 코드를 실행하면, 출력 결과는 다음과 같습니다:

$ scalac Test.scala 
$ scala Test
Value = 4
Value = 3
Value = 2
Value = 1

튜플을 문자열로 변환

튜플 요소를 교환할 수 있는 Tuple.toString() 튜플의 모든 요소를 문자열로 결합하는 메서드는 다음과 같습니다:

object Test {
   def main(args: Array[String]) {
      val t = new Tuple3(1, "hello", Console)
      
      println("결합된 문자열은 다음과 같습니다: " + t.toString() )
   }
}

위의 코드를 실행하면, 출력 결과는 다음과 같습니다:

$ scalac Test.scala 
$ scala Test
1,hello,scala.Console$@4dd8dc3)

요소 교환

튜플 요소를 교환할 수 있는 Tuple.swap 튜플 요소를 교환하는 메서드를 보여줍니다. 다음 예제와 같이 사용할 수 있습니다:

object Test {
   def main(args: Array[String]) {
      val t = new Tuple2("www.google.com", "ko.oldtoolbag.com")
      
      println("교환된 튜플: " + t.swap )
   }
}

위의 코드를 실행하면, 출력 결과는 다음과 같습니다:

$ scalac Test.scala 
$ scala Test
교환된 튜플: (ko.oldtoolbag.com,www.google.com)

Scala 집합