Latest web development tutorials

Scala кортеж

коллекции Scala коллекции Scala

И списки, кортежи неизменен, но список отличается от кортеж может содержать различные типы элементов.

Значение кортежа содержится одним значением в круглые скобки конституции. Например:

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

Примеры этих трех элементов определяются в кортеже, соответствующего типа [Int, Double, java.lang.String].

Кроме того, мы также можно определить с помощью описанного выше метода:

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

Фактический тип кортежа зависит от типа его элементов, таких, как (99, "w3big") является Tuple2 [Int, String]. ( 'U', 'г', "О", 1, 4, "меня") является Tuple6 [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", "www.w3big.com")
      
      println("交换后的元组: " + t.swap )
   }
}

Реализация указанного выше кода, выход:

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

коллекции Scala коллекции Scala