Latest web development tutorials

Scala Iterator (iterators)

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

Scala Iterator (iterators) ไม่เก็บมันเป็นวิธีการเข้าถึงคอลเลกชัน

สองการดำเนินงานพื้นฐาน Iteratorมันต่อไปและ hasNext

โทรit.next () ส่งกลับ iterator องค์ประกอบถัดไปและปรับปรุงการทำซ้ำโดยรัฐ

โทรit.hasNext () จะใช้ในการตรวจสอบว่ามีองค์ประกอบในการเก็บรวบรวม

iterator ส่งกลับทุกองค์ประกอบหนึ่งโดยหนึ่งในวิธีที่ง่ายที่สุดคือการใช้ห่วงขณะ:

object Test {
   def main(args: Array[String]) {
      val it = Iterator("Baidu", "Google", "w3big", "Taobao")
      
      while (it.hasNext){
         println(it.next())
      }
   }
}

การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:

$ scalac Test.scala 
$ scala Test
Baidu
Google
w3big
Taobao

ค้นหาสูงสุดและต่ำสุดองค์ประกอบ

คุณสามารถใช้it.min และวิธีการที่จะหา it.maxสูงสุดและต่ำสุดองค์ประกอบจาก iterator ที่ตัวอย่างมีดังนี้

object Test {
   def main(args: Array[String]) {
      val ita = Iterator(20,40,2,50,69, 90)
      val itb = Iterator(20,40,2,50,69, 90)
      
      println("最大元素是:" + ita.max )
      println("最小元素是:" + itb.min )

   }
}

การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:

$ scalac Test.scala 
$ scala Test
最大元素是:90
最小元素是:2

ได้รับความยาว iterator

คุณสามารถใช้it.size หรือวิธีการ it.lengthเพื่อดูจำนวนขององค์ประกอบในการทำซ้ำโดย ตัวอย่างมีดังนี้

object Test {
   def main(args: Array[String]) {
      val ita = Iterator(20,40,2,50,69, 90)
      val itb = Iterator(20,40,2,50,69, 90)
      
      println("ita.size 的值: " + ita.size )
      println("itb.length 的值: " + itb.length )

   }
}

การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:

$ scalac Test.scala 
$ scala Test
ita.size 的值: 6
itb.length 的值: 6

วิธีการทั่วไป Scala Iterator

ตารางต่อไปนี้แสดงวิธีการทั่วไป Scala Iterator:

เลขที่ วิธีการและรายละเอียด
1

def hasNext: บูลีน

ถ้ามีองค์ประกอบที่สามารถนำกลับมากลับจริง

2

def ถัดไป (): เป็น

ส่งกลับองค์ประกอบถัดไปใน iterator และการปรับปรุงสถานะของ iterator ที่

3

def ++ (ที่: => Iterator [A]): Iterator [A]

ผสานสอง iterators

4

def ++ [B>: A] (ที่: => GenTraversableOnce [b]): Iterator [b]

ผสานสอง iterators

5

def addString (B: StringBuilder): StringBuilder

เพิ่มสตริงเพื่อ StringBuilder B

6

def addString (B: StringBuilder ก.ย. : String): StringBuilder

เพิ่มสตริงเพื่อ StringBuilder B และระบุตัวคั่น

7

บัฟเฟอร์ def: BufferedIterator [A]

Iterators จะถูกแปลงเป็น BufferedIterator

8

def มี (ELEM: ใด ๆ ): บูลีน

เครื่องตรวจจับ iterator มีองค์ประกอบที่ระบุ

9

def copyToArray (XS อาร์เรย์ [A ] เริ่มต้น: Int เลน: int): หน่วย

Iterator ค่าที่เลือกจะถูกส่งผ่านไปยังอาร์เรย์

10

def count (P: (A) => บูลีน): Int

ส่งกลับจำนวนขององค์ประกอบในองค์ประกอบของการทำซ้ำโดยตอบสนองเงื่อนไข P

11

def ลดลง (N: int): Iterator [A]

คอลเลกชันใหม่ก่อนที่จะกลับมาทิ้ง n องค์ประกอบ

12

def dropWhile (P: (A) => บูลีน): Iterator [A]

องค์ประกอบยกเลิกซ้ายไปขวาจนอยู่ในสภาพที่ไม่พอใจ P

13

def ซ้ำ (Iterator [A] , Iterator [A])

สองก็สามารถที่จะสร้างผลตอบแทนที่ iterator ที่ iterator ขององค์ประกอบทั้งหมด

14

def อยู่ (P: (A) => บูลีน): บูลีน

ก็จะส่งกลับค่าบูลีนแสดงให้เห็นว่ามีองค์ประกอบของการทำซ้ำโดยตอบสนององค์ประกอบ P

15

def กรอง (P: (A) => บูลีน): Iterator [A]

กลับมาเป็นองค์ประกอบ iterator iterator ใหม่ ๆ ในทุกองค์ประกอบเพื่อตอบสนองเงื่อนไขของ p

16

def filterNot (P: (A) => บูลีน): Iterator [A]

ส่งกลับองค์ประกอบ iterator iterator ไม่พอใจองค์ประกอบ P สภาพ

17

def พบ (P: (A) => บูลีน): ตัวเลือก [A]

ส่งกลับองค์ประกอบแรกที่น่าพอใจ P หรือไม่ หมายเหตุ: หากสภาพขององค์ประกอบพบ iterator จะถูกวางไว้หลังจากองค์ประกอบนั้นหากไม่พบก็จะถูกวางไว้ในท้ายที่สุด

18

def flatMap [b] (F: (A) => GenTraversableOnce [b]): Iterator [b]

สำหรับ iterators นำไปใช้กับองค์ประกอบในการทำงานลำดับ F ในแต่ละครั้งและกลับชี้ไป iterators ลำดับผล

19

def forall (P: (A) => บูลีน): บูลีน

ก็จะส่งกลับค่าบูลีนที่บ่งชี้ว่ามันหมายถึงองค์ประกอบตอบสนอง P

20

def foreach (F: (A) => หน่วย): หน่วย

ดำเนินการระบุไว้ในแต่ละองค์ประกอบกลับโดยโปรแกรม iterator F

21

hasDefiniteSize def: บูลีน

ถ้าจำนวน iterator องค์ประกอบ จำกัด ผลตอบแทนที่แท้จริง (ค่าเริ่มต้นเท่ากับ isEmpty)

22

def indexOf (ELEM: b): Int

กลับ iterator ขององค์ประกอบในดัชนีมีค่าเท่ากับองค์ประกอบแรกของ X หมายเหตุ: iterator จะข้ามองค์ประกอบนี้

23

def indexWhere (P: (A) => บูลีน): Int

ส่งกลับ iterator ขององค์ประกอบในดัชนีเพื่อให้ตรงกับองค์ประกอบเงื่อนไข P หมายเหตุ: iterator จะข้ามองค์ประกอบนี้

24

def isEmpty: บูลีน

ตรวจสอบว่ามันว่างเปล่าผลตอบแทนที่ว่างเปล่าที่แท้จริงมิฉะนั้นก็จะส่งกลับเท็จ (ตรงข้ามของ hasNext)

25

def isTraversableAgain: บูลีน

ทดสอบว่า Iterator นี้สามารถเดินทางข้ามซ้ำแล้วซ้ำอีก

26

ความยาวพลังป้องกัน: Int

ส่งกลับจำนวนขององค์ประกอบในการทำซ้ำโดย

27

def map [b] (F: (A) => b): Iterator [b]

ผลหลังจากที่มันผ่านเข้าสู่ฟังก์ชัน f ของแต่ละองค์ประกอบในการสร้าง iterator ใหม่

28

แม็กซ์ def: การ

กลับ iterator iterator องค์ประกอบองค์ประกอบที่ใหญ่ที่สุด

29

นาที def: การ

ผลตอบแทนที่เป็นองค์ประกอบ iterator iterator ในองค์ประกอบที่เล็กที่สุด

30

def mkString: String

องค์ประกอบทั้งหมดในการแปลง iterator สตริง

วันที่ 31

def mkString (SEP: String): String

องค์ประกอบทั้งหมดในการแปลง iterator สตริงและระบุตัวคั่น

32

def nonempty: บูลีน

ตรวจสอบว่าภาชนะที่มีองค์ประกอบ (hasNext เทียบเท่า)

33

def padTo (Len: Int, ELEM : A): Iterator [A]

ครั้งแรกขององค์ประกอบทั้งหมดส่งกลับ iterator, สำเนาเพิ่มเติมของ ELEM จนกว่าความยาวถึงบางเลน

34

แพทช์ def (จาก: Int, patchElems : Iterator [b] แทนที่: int): Iterator [b]

กลับ iterator ใหม่ซึ่งแทนที่องค์ประกอบจากองค์ประกอบแรกจากจุดเริ่มต้นจะถูกแทนที่โดยองค์ประกอบในความหมายของ iterators

35

สินค้า def: การ

คืนสินค้าภายในความหมายของตัวเลข iterators องค์ประกอบ

36

sameElements def (ว่า Iterator [_ ]): บูลีน

การวิเคราะห์ iterators และพารามิเตอร์ iterator มีการระบุไว้ในการเปิดผลตอบแทนองค์ประกอบเดียวกัน

37

def หมายเลข: Iterator [A]

มุมมองด้านหลังของชุดคอลเลกชัน

38

ขนาด def: Int

ส่งกลับจำนวนขององค์ประกอบใน iterator

39

def ชิ้น (จาก: Int จนกระทั่ง : int): Iterator [A]

กลับ iterator ใหม่เป็น iterator จะชี้ไปที่ส่วนลำดับจากจุดเริ่มต้นไปยังองค์ประกอบแรกจากสิ้นไปแรกจนถึงองค์ประกอบ

40

รวม def: การ

กลับ iterator หมายถึงองค์ประกอบที่เป็นตัวเลขและ

41

def ใช้ (N: int): Iterator [A]

ส่งกลับ iterator ใหม่องค์ประกอบ n แรก

42

def toArray อาร์เรย์ [A]

องค์ประกอบทั้งหมด iterator ชี้เป็นอาร์เรย์และผลตอบแทน

43

def toBuffer: บัฟเฟอร์ [b]

องค์ประกอบทั้งหมด iterator จะชี้ไปที่บัฟเฟอร์สำเนาบัฟเฟอร์

44

def toIterable: Iterable [A]

ส่งกลับ Iterable มีองค์ประกอบทั้งหมดนี้ทะลุหรือ iterator. นี้จะไม่ยุติสำหรับ iterators อนันต์

45

def toIterator: Iterator [A]

องค์ประกอบทั้งหมด iterator iterator ลงในภาชนะและกลับ

46

ToList def: รายการ [A]

ทุกองค์ประกอบของ iterator ในรายการและผลตอบแทนที่

47

def toMap [T, U]: แผนที่ [T, U]

ทั้งหมดของ iterator สำคัญในแผนที่และผลตอบแทน

48

def toSeq: ลำดับ [A]

องค์ประกอบทั้งหมดทั่วภาชนะเป็นลำดับและผลตอบแทน

49

def toString (): String

Iterator แปลงสตริง

50

def ไปรษณีย์ [b] (ว่า Iterator [b]): Iterator [(A, B)

กลับ iterator ชี้ลำดับ tuple ใหม่ตามลำดับสอดคล้องกับ iterators ระบุและ iterators องค์ประกอบที่มาจาก

วิธีการมากขึ้นในการอ้างถึง เอกสาร API

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