VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test
Java cơ bản Các khái niệm Java OOPs

Java Collections

Collections là gì? List Interface trong java ArrayList trong java LinkedList trong java ArrayList vs LinkedList Set Interface trong java HashSet trong java HashSet trong Java hoạt động như thế nào? LinkedHashSet trong java TreeSet trong java Map Interface trong java HashMap trong java HashMap trong Java hoạt động như thế nào? LinkedHashMap trong java TreeMap trong java Hashtable trong java HashMap vs Hashtable EnumSet trong java EnumMap trong java Lớp Collections trong java Sorting trong Collections Comparable trong java Comparator trong java Comparable vs Comparator Lớp Properties trong java ArrayList vs Vector Array vs ArrayList Iterator trong Java
Java AWT Java Swing Java I/O Ví Dụ Java I/O Java JDBC Các tính năng mới trong java Lập Trình Mạng Với Java Các Tính Năng Mới Trong Java Bài Tập Java Có Lời Giải Câu hỏi phỏng vấn java
1 / 3
❮ ❯

Sử dụng iterator trong Java


Học Java Thread - Đa luồng trong java
ArrayList trong java

Nội dung chính

  • Iterator interface
    • Các phương thức của Iterator trong Java
  • ListIterator interface
    • Các phương thức của ListIterator trong 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 interator để:

  • 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.

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().

Sử dụng Iterator trong Java

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

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

package vn.viettuts;

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();
        
    }
}

Kết quả:

Danh sach ngon ngu lap trinh: 
Java
Python
PHP
.NET
C
C++

Noi dung da duoc sua cua listLanguages: 
Java (PASS)
Python (PASS)
PHP (PASS)
.NET (PASS)
C (PASS)
C++ (PASS)

Noi dung da duoc sua cua listLanguages theo thu tu nguoc lai: 
C++ (PASS)
C (PASS)
.NET (PASS)
PHP (PASS)
Python (PASS)
Java (PASS)

Noi dung da duoc sua cua listLanguages: 
Java (PASS)
Python (PASS)
PHP (PASS)
.NET (PASS)
C++ (PASS)

Học Java Thread - Đa luồng trong java
ArrayList trong java

Recent Updates

Xuất dữ liệu ra màn hình console trong JavaCài đặt môi trường JavaJava Swing - Bài tập quản lý sinh viên trong javaLinkedList trong javaArrayList trong javaBài tập java có lời giảiSử dụng Javascript trong HTMLToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Collection trong C#Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml