บทช่วยสอนJava

Java HOME Java Intro Java เริ่มต้น Java Syntax ความคิดเห็นของ Java ตัวแปร Java Java Data Types การหล่อแบบจาวา ตัวดำเนินการ Java Java Strings Java Math Java Booleans Java If...Else Java Switch Java ในขณะที่ลูป Java สำหรับลูป Java Break/ต่อ Java Arrays

เมธอดของจาวา

เมธอดของจาวา พารามิเตอร์เมธอด Java วิธี Java โอเวอร์โหลด ขอบเขต Java Java Recursion

คลาส Java

Java OOP Java Classes/Objects คุณสมบัติคลาส Java วิธีการคลาส Java Java Constructors Java Modifiers การห่อหุ้มด้วยจาวา แพ็คเกจ Java / API มรดกจาวา Java Polymorphism Java Inner Classes Java Abstraction อินเทอร์เฟซ Java Java Enums อินพุตผู้ใช้ Java Java วันที่ Java ArrayList Java LinkedList Java HashMap Java HashSet Java Iterator คลาส Java Wrapper ข้อยกเว้น Java Java RegEx Java Threads จาวา แลมบ์ดา

การจัดการไฟล์ Java

ไฟล์ Java Java สร้าง/เขียนไฟล์ Java อ่านไฟล์ Java ลบไฟล์

Java ฮาวทู

เพิ่มสองตัวเลข

Java Reference

คีย์เวิร์ด Java เมธอด Java String Java Math Methods

ตัวอย่าง Java

ตัวอย่าง Java Java Compiler แบบฝึกหัด Java Java Quiz ใบรับรอง Java


Java Iterator


Java Iterator

An Iteratorคืออ็อบเจ็กต์ที่สามารถใช้เพื่อวนรอบคอลเล็กชันเช่นArrayList และHashSet มันถูกเรียกว่า "ตัววนซ้ำ" เพราะ "การวนซ้ำ" เป็นศัพท์เทคนิคสำหรับการวนซ้ำ

ในการใช้ Iterator คุณต้องนำเข้าจากjava.utilแพ็คเกจ


รับตัววนซ้ำ

สามารถiterator()ใช้เมธอดเพื่อรับIteratorคอลเล็กชันใดก็ได้:

ตัวอย่าง

// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {

    // Make a collection
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");

    // Get the iterator
    Iterator<String> it = cars.iterator();

    // Print the first item
    System.out.println(it.next());
  }
}


วนซ้ำผ่านคอลเล็กชัน

ในการวนรอบคอลเล็กชัน ให้ใช้hasNext()and next()วิธีการของIterator:

ตัวอย่าง

while(it.hasNext()) {
  System.out.println(it.next());
}


การนำรายการออกจากคอลเลกชัน

ตัววนซ้ำได้รับการออกแบบมาเพื่อให้เปลี่ยนคอลเลกชั่นที่วนซ้ำได้อย่างง่ายดาย remove()เมธอดสามารถลบรายการออกจากคอลเลกชันขณะวนซ้ำได้

ตัวอย่าง

ใช้ตัววนซ้ำเพื่อลบตัวเลขที่น้อยกว่า 10 ออกจากคอลเลกชัน:

import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(12);
    numbers.add(8);
    numbers.add(2);
    numbers.add(23);
    Iterator<Integer> it = numbers.iterator();
    while(it.hasNext()) {
      Integer i = it.next();
      if(i < 10) {
        it.remove();
      }
    }
    System.out.println(numbers);
  }
}

หมายเหตุ:การพยายามลบรายการโดยใช้for loopหรือ for-each loopจะไม่ทำงานอย่างถูกต้องเนื่องจากคอลเล็กชันมีการเปลี่ยนแปลงขนาดในเวลาเดียวกันกับที่โค้ดพยายามวนซ้ำ