亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中Iterator(迭代器)的用法詳解

 更新時間:2023年05月09日 09:23:32   作者:無聲編碼器  
Java迭代器(Iterator)是?Java?集合框架中的一種機制,它提供了一種在不暴露集合內部實現(xiàn)的情況下遍歷集合元素的方法。本文主要介紹了它的使用方法,希望對大家有所幫助

Java迭代器(Iterator)是 Java 集合框架中的一種機制,它提供了一種在不暴露集合內部實現(xiàn)的情況下遍歷集合元素的方法。Java Iterator(迭代器)不是一個集合,它是一種用于訪問集合的方法,可用于迭代  ArrayList 和 HashSet 等集合。Iterator 是 Java 迭代器最簡單的實現(xiàn),ListIterator 是 Collection API 中的接口, 它擴展了 Iterator 接口。

迭代器 it 的三個基本操作是 next 、hasNext 和 remove。

  • 調用 it.next() 會返回迭代器的下一個元素,并且更新迭代器的狀態(tài)。
  • 調用 it.hasNext() 用于檢測集合中是否還有元素。
  • 調用 it.remove() 將迭代器返回的元素刪除。

Iterator 類位于 java.util 包中,使用前需要引入它,語法格式如下:

import java.util.Iterator; // 引入 Iterator 類

獲取一個迭代器:集合想獲取一個迭代器可以使用 iterator() 方法。

// 引入 ArrayList 和 Iterator 類
import java.util.ArrayList;
import java.util.Iterator;

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

        // 創(chuàng)建集合
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Zhihu");

        // 獲取迭代器
        Iterator<String> it = sites.iterator();

        // 輸出集合中的第一個元素
        System.out.println(it.next());
    }
}
// 執(zhí)行以上代碼,輸出結果如下:
// Google

循環(huán)集合元素:讓迭代器 it(迭代器名字) 逐個返回集合中所有元素最簡單的方法是使用 while 循環(huán)。

// 引入 ArrayList 和 Iterator 類
import java.util.ArrayList;
import java.util.Iterator;

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

        // 創(chuàng)建集合
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Zhihu");

        // 獲取迭代器
        Iterator<String> it = sites.iterator();

        // 輸出集合中的所有元素
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    }
}
// 執(zhí)行以上代碼,輸出結果如下:
// Google
// Runoob
// Taobao
// Zhihu

刪除元素:刪除集合中的元素可以使用 remove() 方法。

// 引入 ArrayList 和 Iterator 類
import java.util.ArrayList;
import java.util.Iterator;

// 以下實例我們刪除集合中小于 10 的元素
public class RunoobTest {
    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();  // 刪除小于 10 的元素
            }
        }
        System.out.println(numbers);
    }
}
// 執(zhí)行以上代碼,輸出結果如下:
// [12, 23]

注意:Java 迭代器是一種單向遍歷機制,即只能從前往后遍歷集合中的元素,不能往回遍歷。同時,在使用迭代器遍歷集合時,不能直接修改集合中的元素,而是需要使用迭代器的 remove() 方法來刪除當前元素。

到此這篇關于Java中Iterator(迭代器)的用法詳解的文章就介紹到這了,更多相關Java Iterator內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring與Struts整合之讓Spring管理控制器操作示例

    Spring與Struts整合之讓Spring管理控制器操作示例

    這篇文章主要介紹了Spring與Struts整合之讓Spring管理控制器操作,結合實例形式詳細分析了Spring管理控制器相關配置、接口實現(xiàn)與使用技巧,需要的朋友可以參考下
    2020-01-01
  • java環(huán)境變量配置超詳細圖文教程

    java環(huán)境變量配置超詳細圖文教程

    在我們學習Java語言的時候,要在命令提示符里運用Java和Javac,用到這兩個命令的時候就要配置Java環(huán)節(jié)變量才可以,這篇文章主要給大家介紹了關于java環(huán)境變量配置的相關資料,需要的朋友可以參考下
    2023-10-10
  • Java8學習教程之lambda表達式語法介紹

    Java8學習教程之lambda表達式語法介紹

    眾所周知lambda表達式是JAVA8中提供的一種新的特性,它支持Java也能進行簡單的“函數(shù)式編程”。 下面這篇文章主要給大家介紹了關于Java8學習教程之lambda表達式語法的相關資料,需要的朋友可以參考下。
    2017-09-09
  • SpringBoot瘦身打包部署的實現(xiàn)

    SpringBoot瘦身打包部署的實現(xiàn)

    這篇文章主要介紹了SpringBoot瘦身打包部署的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • JAVA如何調用wsdl過程詳解

    JAVA如何調用wsdl過程詳解

    這篇文章主要介紹了JAVA如何調用wsdl過程詳解,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Java如何使用Agent和ASM在字節(jié)碼層面實現(xiàn)方法攔截

    Java如何使用Agent和ASM在字節(jié)碼層面實現(xiàn)方法攔截

    Agent是一種運行在 Java 虛擬機 (JVM) 上的特殊程序,ASM是一個輕量級的 Java 字節(jié)碼編輯和分析框架,本文為大家介紹了如何利用他們在字節(jié)碼層面實現(xiàn)方法攔截,感興趣的可以了解一下
    2023-05-05
  • Java多種經(jīng)典排序算法(含動態(tài)圖)

    Java多種經(jīng)典排序算法(含動態(tài)圖)

    排序算法是老生常談的了,但是在面試中也有會被問到,例如有時候,在考察算法能力的時候,不讓你寫算法,就讓你描述一下,某個排序算法的思想以及時間復雜度或空間復雜度。我就遇到過,直接問快排的,所以這次我就總結梳理一下經(jīng)典的十大排序算法以及它們的模板代碼
    2021-04-04
  • 在非spring環(huán)境中調用service中的方法

    在非spring環(huán)境中調用service中的方法

    非Spring環(huán)境指的是不使用Spring框架來管理和配置應用程序的運行時環(huán)境,本文將給大家介紹如何在非spring環(huán)境中調用service中的方法,文中有詳細實現(xiàn)步驟,需要的朋友可以參考下
    2024-03-03
  • java仿百度假分頁代碼實現(xiàn)的詳解

    java仿百度假分頁代碼實現(xiàn)的詳解

    這篇文章主要介紹了java仿百度假分頁代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • mybatisPlus更新字段值為null的解決方案

    mybatisPlus更新字段值為null的解決方案

    在使用mybatis-plus時,發(fā)現(xiàn)當前端傳入的值為null值時,結果無論怎么操作后端都不執(zhí)行更新null字段的操作,下面這篇文章主要給大家介紹了關于mybatisPlus更新字段值為null的解決方案,需要的朋友可以參考下
    2023-04-04

最新評論