Latest web development tutorials

Scalaのタプル

Scalaのコレクション Scalaのコレクション

そして、リスト、タプルは不変ですが、リストはタプルと異なるのは、要素の種類を含めることができます。

値のタプルは括弧構成で単一の値に含まれています。 例えば:

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

上記の3つの要素の例は、タイプに対応するタプルで定義されている[INT、ダブル、java.lang.Stringで]です。

さらに、我々はまた、上記の方法を使用して定義することができます。

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

実際のタプル型は、(99、 "w3big」)として、その要素の種類に依存Tuple2 [INT、文字列]です。 ( 'U'、 'R'、 ""、1、4、「私」)はTuple6 [シャア、シャア、文字列、整数、整数、文字列]です。

現在、最大のタプル長Scalaのサポートは22です。 大きい長さのためには、コレクションまたは拡張子タプルを使用することができます。

アクセスタプルの要素はタプルとして、数値インデックスすることができます:

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

次のように私たちは、二番目の要素にアクセスt._2、アクセスt._1最初の要素を使用することができます。

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", "www.w3big.com")
      
      println("交换后的元组: " + t.swap )
   }
}

上記のコードの実装、出力は次のようになります。

$ scalac Test.scala 
$ scala Test
交换后的元组: (www.w3big.com,www.google.com)

Scalaのコレクション Scalaのコレクション