Latest web development tutorials

Scala tuple

คอลเลกชันสกาล่า คอลเลกชันสกาล่า

และรายการ tuples จะไม่เปลี่ยนรูป แต่รายการจะแตกต่างจาก tuple สามารถมีประเภทที่แตกต่างกันขององค์ประกอบ

tuple ค่าโดยมีค่าเดียวในรัฐธรรมนูญวงเล็บ ตัวอย่างเช่น:

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

ตัวอย่างข้างต้นสามองค์ประกอบที่กำหนดไว้ในอันดับที่สอดคล้องกับประเภท ได้แก่ [Int คู่ java.lang.String]

นอกจากนี้เรายังสามารถกำหนดโดยใช้วิธีการดังกล่าว:

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

ประเภท tuple ที่แท้จริงขึ้นอยู่กับชนิดขององค์ประกอบเช่น (99 "w3big") เป็น Tuple2 [Int, String] ( 'U', 'R', "the", 1, 4, "ฉัน") เป็น Tuple6 [char, Char, String, Int, Int, String]

ปัจจุบัน tuple สนับสนุน Scala ยาวสูงสุดคือ 22 สำหรับความยาวมากขึ้นคุณสามารถใช้คอลเลกชันหรือส่วนขยาย tuples

องค์ประกอบการเข้าถึง tuple สามารถดัชนีตัวเลขเป็น tuple A:

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 ซ้ำแล้วซ้ำอีก

คุณสามารถใช้Tuple.productIterator () วิธีการย้ำกว่าองค์ประกอบทั้งหมดของ tuples เอาท์พุท:

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 เป็นสตริง

คุณสามารถใช้Tuple.toString () วิธีการรวมองค์ประกอบทั้งหมดของ tuple ลงในสตริงตัวอย่างดังต่อไปนี้:

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 องค์ประกอบแลกเปลี่ยน tupleตัวอย่างต่อไปนี้:

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)

คอลเลกชันสกาล่า คอลเลกชันสกาล่า