หากคุณกำลังทำงานกับไฟล์ และบอกว่าคุณต้องการพิมพ์ลำดับนั่นคือจุดที่ Iterator ใน Java เข้ามาในรูปภาพ ด้วยวิธีนี้คุณจะได้ลำดับโดยไม่ต้องเพิ่มคำสั่งพิมพ์สำหรับแต่ละบรรทัด มาเรียนรู้เกี่ยวกับ Iterator in .
ด้านล่างนี้คือหัวข้อที่ฉันจะพูดถึงในโมดูลนี้:
มาเริ่มกันเลย!
iterator คืออะไร?
Java ส่วนใหญ่รองรับเคอร์เซอร์ที่แตกต่างกันสี่ตัว ได้แก่ :
- การแจงนับ
- Iterator
- ListIterator
- ตัวแยก
เคอร์เซอร์ Java แต่ละตัวเหล่านี้มีข้อดีและข้อเสียบางประการ เราจะเน้นไปที่ Iterator ในบทความนี้
วิธีการต่อท้าย java
ตอนนี้ตัววนซ้ำใน Java คืออะไร?
Iterator เป็นอินเทอร์เฟซที่เป็นของคอลเลกชันเฟรมเวิร์ก ช่วยให้คุณสำรวจคอลเลกชันเข้าถึงองค์ประกอบข้อมูลและลบองค์ประกอบข้อมูลของคอลเล็กชัน
นอกจากนี้ยังถือเป็น Universal iterator เนื่องจากคุณสามารถนำไปใช้กับ วัตถุ. ด้วยการใช้ Iterator คุณสามารถดำเนินการทั้งอ่านและลบได้ นี่คือเวอร์ชันปรับปรุงของ การแจงนับ ด้วยฟังก์ชันเพิ่มเติมของความสามารถในการลบองค์ประกอบ
วิธี Java Iterator
Java iterator มีทั้งหมด 4 วิธี เรามาทำความเข้าใจโดยละเอียดกัน
br tag ใน html คืออะไร
วิธีการ | คำอธิบาย |
---|---|
forEachRemaining (การบริโภค) | จะดำเนินการกับแต่ละองค์ประกอบจนกว่าและเว้นแต่องค์ประกอบทั้งหมดจะได้รับการประมวลผล จนกว่าการกระทำจะเกิดข้อยกเว้น |
hasNext () | นี้ ผลตอบแทน ค่าที่แท้จริงหากพบองค์ประกอบจำนวนมากในระหว่างการทำซ้ำ |
ต่อไป() | นี้ ผลตอบแทน องค์ประกอบที่ระบุถัดไประหว่างการทำซ้ำ |
ลบ () | วิธีนี้ rเคลื่อนย้ายองค์ประกอบปัจจุบัน พ่น IllegalStateException หากมีการพยายามเรียกลบ () ที่ไม่ได้นำหน้าด้วยการเรียกถัดไป () |
บูลีน hasNext () | สิ่งนี้จะคืนค่าเป็นจริงหากการวนซ้ำมีองค์ประกอบมากกว่านี้ |
ตัวอย่าง:
class Method {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R ') list.add (' E ') list.add (' K ') list.add (' A ') // Iterator เพื่อสำรวจรายการ Iterator iterator = list.iterator () System.out.println (' องค์ประกอบรายการ : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}
เอาท์พุต: EDUREKA
มาดู ListIterator ใน Java กัน
ListIterator ใน Java
ListIterator ใน Java เป็น Iterator ที่อนุญาตให้ผู้ใช้สำรวจผ่าน Collection ได้ทั้งสองทิศทาง ประกอบด้วยวิธีการดังต่อไปนี้:
วิธีการ | วิธีการและคำอธิบาย |
---|---|
โมฆะเพิ่ม (Object obj) | แทรก obj ลงในรายการที่อยู่ด้านหน้าขององค์ประกอบที่จะถูกส่งคืนโดยการเรียกถัดไปไปที่ next () |
บูลีน hasNext () | ส่งคืนจริงหากมีองค์ประกอบถัดไป มิฉะนั้นจะส่งกลับเท็จ |
บูลีน hasPrevious () | ส่งคืนค่าจริงหากมีองค์ประกอบก่อนหน้า มิฉะนั้นจะส่งกลับเท็จ |
วัตถุถัดไป () | ส่งคืนองค์ประกอบถัดไป NoSuchElementException จะถูกโยนออกไปหากไม่มีองค์ประกอบถัดไป |
int nextIndex () | ส่งกลับดัชนีขององค์ประกอบถัดไป หากไม่มีองค์ประกอบถัดไปให้ส่งคืนขนาดของรายการ |
วัตถุก่อนหน้า () | ส่งคืนองค์ประกอบก่อนหน้า NoSuchElementException จะถูกโยนออกไปหากไม่มีองค์ประกอบก่อนหน้านี้ |
int previousIndex () | ส่งกลับดัชนีขององค์ประกอบก่อนหน้า หากไม่มีองค์ประกอบก่อนหน้าให้คืนค่า -1 |
โมฆะลบ () | ลบองค์ประกอบปัจจุบันออกจากรายการ IllegalStateException จะถูกโยนออกไปหากมีการเรียกใช้ remove () ก่อน next () หรือ previous () |
ชุดโมฆะ (Object obj) | กำหนด obj ให้กับองค์ประกอบปัจจุบัน นี่คือองค์ประกอบที่ส่งคืนล่าสุดโดยการเรียกไปยัง next () หรือ previous () |
ตัวอย่าง:
public class Lists {public static void main (String args []) {// สร้างรายการอาร์เรย์ ArrayList al = new ArrayList () // เพิ่มองค์ประกอบในรายการอาร์เรย์ al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // ใช้ iterator เพื่อแสดงเนื้อหาของ อัล System.out.print ('เนื้อหาดั้งเดิมของ al:') Iterator itr = al.iterator () ในขณะที่ (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '' )} System.out.println () // แก้ไขอ็อบเจ็กต์ที่กำลังทำซ้ำ ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Modified contents of al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // ตอนนี้แสดงรายการย้อนหลัง System.out.print ('รายการแก้ไขย้อนหลัง:') ในขณะที่ (litr.hasPrevious ()) {Object element = litr.previous () System.out. พิมพ์ (องค์ประกอบ + '')} System.out.println ()}}
เอาท์พุต:
ต้นฉบับเนื้อหาของอัล:E D U R EK A
แก้ไขเนื้อหาของอัล:คือ+ง+ยู+ร+คือ+ถึง+ A +
แก้ไขรายการย้อนหลัง:ถึง+ถึง+คือ+ร+ยู+ง+ และ +
ตอนนี้เรามาดูข้อดีและข้อ จำกัด ของอินเทอร์เฟซตัววนซ้ำนี้ใน Java กัน
ข้อดีของ Iterator ใน Java
Iterator ใน Java มีข้อดีดังต่อไปนี้
- คุณสามารถใช้ตัววนซ้ำเหล่านี้สำหรับคลาสคอลเลคชันใดก็ได้
- Iterator ใน Java รองรับทั้งสองอย่าง อ่าน เช่นเดียวกับ ลบ การดำเนินงาน
- หากคุณกำลังใช้ สำหรับห่วง คุณไม่สามารถ อัปเดต (เพิ่ม / ลบ) คอลเล็กชันในขณะที่ด้วยความช่วยเหลือของตัววนซ้ำคุณสามารถอัปเดตคอลเล็กชันได้อย่างง่ายดาย
- เป็น Universal Cursor สำหรับ Collection API
- ชื่อเมธอดนั้นง่ายมากและใช้งานง่ายมาก
ข้อ จำกัด ของ Iterator ใน Java
Iterators ใน Java มีข้อบกพร่องดังต่อไปนี้:
- คุณสามารถทำซ้ำทิศทางไปข้างหน้าได้นั่นคือ Uni-Directional Iterator
- Iterator ไม่รองรับการเปลี่ยนและการเพิ่มองค์ประกอบใหม่
- ListIterator เป็นตัววนซ้ำที่ทรงพลังที่สุด แต่ใช้ได้กับคลาสที่ใช้งาน List เท่านั้น ดังนั้นจึงไม่ใช่ Universal iterator
- เมื่อคุณใช้การดำเนินการ CRUD จะไม่สนับสนุนการดำเนินการสร้างและอัปเดต
- เมื่อคุณเปรียบเทียบกับ Spliterator จะไม่ให้คุณทำซ้ำองค์ประกอบแบบขนาน ซึ่งหมายความว่ารองรับเฉพาะการทำซ้ำตามลำดับ
- ไม่สนับสนุนประสิทธิภาพที่ดีกว่าในการทำซ้ำข้อมูลจำนวนมาก
สิ่งนี้ทำให้เรามาถึงตอนท้ายของบทความนี้ซึ่งเราได้เรียนรู้เกี่ยวกับการทำงานของ iterator ใน Java หวังว่าคุณจะชัดเจนกับทุกสิ่งที่แบ่งปันกับคุณในบทช่วยสอนนี้
python __init__ วิธีการ
หากคุณพบบทความเกี่ยวกับ“ Iterator ใน Java” นี้เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก
เราพร้อมช่วยเหลือคุณในทุกขั้นตอนในการเดินทางนอกเหนือจากนี้เรายังมีหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring
หากคุณพบคำถามใด ๆ อย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ 'Iterator ใน Java' และทีมงานของเรายินดีที่จะตอบ