Trang chủ Khóa họcNgôn ngữJava FaCode Ngôn ngữ Java Sử dụng iterator trong Java

FaCode Ngôn ngữ Java Sử dụng iterator trong Java

Bởi kiet

FaCode Ngôn ngữ Java Sử dụng iterator trong Java

Iterator interface

Iterator trong Java là một interface được sử dụng để thay thế Enumerations trong Java Collection Framework. Bạn có thể sử dụng iterator để:

  • Duyệt các phần tử từ đầu đến cuối của một collection.
  • Iterator cho phép xóa phần tử khi lặp một collection.

Các phương thức của Iterator trong Java

Có ba phương thức trong Iterator như sau:

Phương thứcMô tả
public boolean hasNext()Nó trả về true nếu iterator còn phần tử kế tiếp phần tử đang duyệt.
public object next()Nó trả về phần tử hiện tại và di chuyển con trỏ trỏ tới phần tử tiếp theo.
public void remove()Nó loại bỏ phần tử cuối được trả về bởi Iterator. Nó hiếm khi được sử dụng.
FaCode Ngôn ngữ Java

ListIterator interface

Đối với các collections mà implement List, bạn cũng có thể sử dụng iterator bằng cách gọi ListIterator.

Các phương thức của ListIterator trong Java

Phương thứcMô tả
public void add(Object obj)Chèn obj vào phía trước phần tử sẽ được trả về bởi lệnh gọi tiếp theo tới next().
public boolean hasNext()Trả về true nếu có phần tử tiếp theo. Nếu không, trả về false.
public boolean hasPrevious()Trả về true nếu có phần tử trước. Nếu không, trả về false.
public Object next()Trả về phần tử tiếp theo. Một NoSuchEuityException được ném nếu không có phần tử tiếp theo.
public int nextIndex()Trả về chỉ mục của phần tử tiếp theo. Nếu không có phần tử tiếp theo, trả về kích thước của danh sách.
public Object previous()Trả về phần tử trước. Một NoSuchEuityException được ném nếu không có phần tử trước đó.
public int previousIndex()Trả về chỉ mục của phần tử trước. Nếu không có phần tử trước, trả về -1.
public void remove()Loại bỏ các phần tử hiện tại khỏi danh sách. Một IllegalStateException được ném nếu remove() được gọi trước next() hoặc trước previous().
public void set(Object obj)Chỉ định obj cho phần tử hiện tại. Đây là phần tử được trả về lần cuối bởi một lệnh gọi tới next() hoặc previous().
FaCode Ngôn ngữ Java

Sử dụng Iterator trong Java

Dưới đây là một ví dụ minh họa sử dụng Iterator và List Iterator trong Java. Nó sử dụng một đối tượng ArrayList.

ListIterator chỉ khả dụng cho những collections implement List.

FaCode Ngôn ngữ Java

Kết quả:

FaCode Ngôn ngữ Java

Code:

package vn.facode;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.ListIterator;

public class IteratorDemo {

    public static void main(String args[]) {

        ArrayList listLanguages = new ArrayList();

        // them phan tu vao array list

        listLanguages.add("Java");

        listLanguages.add("Python");

        listLanguages.add("PHP");

        listLanguages.add(".NET");

        listLanguages.add("C");

        listLanguages.add("C++");

        // su dung iterator de hien thi noi dung cua listLanguages

        System.out.println("Danh sach ngon ngu lap trinh: ");

        Iterator itr = listLanguages.iterator();

        while (itr.hasNext()) {

            Object element = itr.next();

            System.out.println(element);

        }

        System.out.println();

        // sua cac phan tu duoc lap

        ListIterator litr = listLanguages.listIterator();

        while (litr.hasNext()) {

            Object element = litr.next();

            litr.set(element + " (PASS)");

        }

        System.out.println("Noi dung da duoc sua cua listLanguages: ");

        itr = listLanguages.iterator();

        while (itr.hasNext()) {

            Object element = itr.next();

            System.out.println(element);

        }

        System.out.println();

        // hien thi cac phan tu theo thu tu nguoc lai

        System.out.println("Noi dung da duoc sua cua listLanguages "

                + "theo thu tu nguoc lai: ");

        while (litr.hasPrevious()) {

            Object element = litr.previous();

            System.out.println(element);

        }

        System.out.println();

        // xoa phan tu C (PASS)

        litr = listLanguages.listIterator();

        while (litr.hasNext()) {

            Object element = litr.next();

            if ("C (PASS)".equals(element.toString())) {

             litr.remove();

            }

        }

        System.out.println("Noi dung da duoc sua cua listLanguages: ");

        itr = listLanguages.iterator();

        while (itr.hasNext()) {

            Object element = itr.next();

            System.out.println(element);

        }

        System.out.println();

    }

}

_________________________________________

FaCode Ngôn ngữ Java
FaCode Ngôn ngữ Java

_____________________

Khóa học lập trình

7 Java frameworks phổ biến nhất hiện nay

xem thêm

________

FaCode là một seri học tập lập trình, lần này là FaCode ngôn ngữ Java, bằng mọi nỗ lực FaCode sẽ hoàn thành các mục tiêu đề ra trong FaCode Ngôn ngữ Java. Hãy đồng hành cùng FaCode Ngôn ngữ Java và theo dõi chúng tôi nhé. FaCode Ngôn ngữ Java rất mong nhận được lời góp ý từ phía cộng đồng. Share4Happy với phương châm chia sẻ để hạnh phúc.

Related Posts

Để lại một bình luận