บทช่วยสอน Scala Iterator (iterators) ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ค้นหาสูงสุดและต่ำสุดองค์ประกอบ,ได้รับความยาว iterator,วิธีการทั่วไป Scala Iterator,

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

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

Scala Iterator (iterators)
10/30