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