最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA Iterator接口與增強for循環(huán)的實現(xiàn)

 更新時間:2020年11月30日 15:22:12   作者:hellosc01  
這篇文章主要介紹了JAVA Iterator接口與增強for循環(huán)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1 Iterator迭代器

1.1 Iterator接口

  1. java.util.Iterator接口也是Java集合中的一員;
  2. Iterator主要用于迭代訪問(即遍歷)Collection中的元素,因此Iterator對象也被稱為迭代器。
  3. public Iterator iterator(): 獲取集合對應的迭代器,用來遍歷集合中的元素。

迭代:Collection集合元素的通用獲取方式。在取元素之前先判斷集合中有沒有元素。如果有,就把這個元素取出來;繼續(xù)判斷,如果還有就再取出來;就這樣一直把集合中的所有元素全部取出。

1.2 Iterator接口常用方法

  • public boolean hasNext():如果下一個元素存在,返回 true,否則false;
  • public E next():返回下一個元素。

1.3 案例演示

public class Demo {
  public static void main(String[] args) {
    // 使用多態(tài)方式創(chuàng)建對象
    Collection<String> sg = new ArrayList<String>();

    // 添加元素到集合
    sg.add("劉備");
    sg.add("關羽");
    sg.add("張飛");

    //使用迭代器進行遍歷
    Iterator<String> it = sg.iterator();
    while(it.hasNext()){
      String s = it.next();
      System.out.println(s);
    }
  }
}

劉備
關羽
張飛

tips::如果集合中已經沒有元素了,還繼續(xù)使用迭代器的next方法,將會發(fā)生java.util.NoSuchElementException沒有集合元素的錯誤。

1.2 迭代器的實現(xiàn)原理

Iterator迭代器對象在遍歷集合時,內部采用指針的方式來跟蹤集合中的元素。
在調用Iterator的next方法之前,迭代器的索引位于第一個元素之前,不指向任何元素,當?shù)谝淮握{用迭代器的next方法后,迭代器的索引會向后移動一位,指向第一個元素并將該元素返回,當再次調用next方法時,迭代器的索引會指向第二個元素并將該元素返回,依此類推,直到hasNext方法返回false,表示到達了集合的末尾,終止對元素的遍歷。

2 增強for循環(huán)

增強for循環(huán)專門用來遍歷數(shù)組和Collection,它的內部原理其實是個Iterator迭代器,所以在遍歷的過程中,不能對元素進行增刪操作。

格式:

for(元素的數(shù)據(jù)類型 變量 : Collection集合or數(shù)組){ 
  //寫操作代碼
}

示例1:遍歷數(shù)組

public class Demo {
  public static void main(String[] args) {
 int[] arr = {3,5,6,87};
    //使用增強for遍歷數(shù)組
 for(int a : arr){//a代表數(shù)組中的每個元素
  System.out.println(a);
 }
 }
}

3
5
6
87

示例2:遍歷集合

public class Demo {
  public static void main(String[] args) {
    Collection<String> sg = new ArrayList<String>();
    sg.add("劉備");
    sg.add("關羽");
    sg.add("張飛");
    //使用增強for遍歷
    for(String s :sg){//接收變量s代表 代表被遍歷到的集合元素
      System.out.println(s);
    }
  }
}

劉備
關羽
張飛

到此這篇關于JAVA Iterator接口與增強for循環(huán)的實現(xiàn)的文章就介紹到這了,更多相關JAVA Iterator接口與增強for循環(huán)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java自動拆箱空指針異常的解決

    Java自動拆箱空指針異常的解決

    這篇文章主要介紹了Java自動拆箱空指針異常的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Java多線程基本概念以及避坑指南

    Java多線程基本概念以及避坑指南

    多線程之于進程的理解,可以類比多進程之于操作系統(tǒng),多線程指在單個程序中可以同時運行多個不同的線程執(zhí)行不同的任務,這篇文章主要給大家介紹了關于Java多線程基本概念以及避坑指南的相關資料,需要的朋友可以參考下
    2021-09-09
  • Spring?IOC容器Bean管理的完全注解開發(fā)放棄配置文件

    Spring?IOC容器Bean管理的完全注解開發(fā)放棄配置文件

    這篇文章主要為大家介紹了Spring?IOC容器的Bean管理完全注解開發(fā)放棄配置文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • java實現(xiàn)jframe透明窗體示例

    java實現(xiàn)jframe透明窗體示例

    這篇文章主要介紹了java實現(xiàn)jframe透明窗體示例,需要的朋友可以參考下
    2014-03-03
  • 在CentOS上安裝Java 17并實現(xiàn)多版本共存的詳細教程

    在CentOS上安裝Java 17并實現(xiàn)多版本共存的詳細教程

    在現(xiàn)代軟件開發(fā)中,Java 作為一種廣泛使用的編程語言,其版本更新頻繁,不同項目可能依賴不同版本的 Java 運行環(huán)境,CentOS 作為一款流行的 Linux 發(fā)行版,常被用于服務器部署和開發(fā)環(huán)境,本文將詳細介紹如何在 CentOS 上安裝 Java 17,并實現(xiàn)與現(xiàn)有 Java 8 的多版本共存
    2025-03-03
  • 解決mybatis批量更新出現(xiàn)SQL報錯問題

    解決mybatis批量更新出現(xiàn)SQL報錯問題

    這篇文章主要介紹了mybatis批量更新出現(xiàn)SQL報錯,解決辦法也很簡單只需要在application.properties配置文中的數(shù)據(jù)源url后面添加一個參數(shù),需要的朋友可以參考下
    2022-02-02
  • Java初級必看的數(shù)據(jù)類型與常量變量知識點

    Java初級必看的數(shù)據(jù)類型與常量變量知識點

    這篇文章主要給大家介紹了關于Java初級必看的數(shù)據(jù)類型與常量變量知識點的相關資料,需要的朋友可以參考下
    2023-11-11
  • Springboot項目使用攔截器方法詳解

    Springboot項目使用攔截器方法詳解

    這篇文章主要介紹了Springboot項目使用攔截器方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Spring詳細講解循環(huán)依賴是什么

    Spring詳細講解循環(huán)依賴是什么

    這篇文章主要介紹了Java中的Spring循環(huán)依賴詳情,文章基于Java的相關資料展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Java構建菜單樹的實現(xiàn)示例

    Java構建菜單樹的實現(xiàn)示例

    本文主要介紹了Java構建菜單樹的實現(xiàn)示例,像一級菜單,二級菜單,三級菜單甚至更多層級的菜單,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05

最新評論

香格里拉县| 渑池县| 乡宁县| 永平县| 黄平县| 兴业县| 江源县| 乳山市| 镇雄县| 南华县| 加查县| 泽州县| 轮台县| 永登县| 龙门县| 潢川县| 滦南县| 平罗县| 安岳县| 上犹县| 油尖旺区| 简阳市| 苍南县| 新竹县| 天长市| 中卫市| 冀州市| 平阳县| 安西县| 苏尼特右旗| 肇东市| 利川市| 忻城县| 兴业县| 渭源县| 印江| 东丰县| 巩义市| 绥滨县| 黎川县| 上思县|