English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
리스트와 마찬가지로 튜플도 불변적이지만, 리스트와 달리 튜플은 다른 유형의 요소를 포함할 수 있습니다。
튜플의 값은 단일 값이 둘레 괄호로 포함된 것으로 구성됩니다. 예를 들어:
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)