欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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::如果集合中已經(jīng)沒有元素了,還繼續(xù)使用迭代器的next方法,將會發(fā)生java.util.NoSuchElementException沒有集合元素的錯誤。

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

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

2 增強for循環(huán)

增強for循環(huán)專門用來遍歷數(shù)組和Collection,它的內(nèi)部原理其實是個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)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java以json格式向后臺服務器接口發(fā)送請求的實例

    java以json格式向后臺服務器接口發(fā)送請求的實例

    下面小編就為大家分享一篇java以json格式向后臺服務器接口發(fā)送請求的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Spring Boot 結合 aop 實現(xiàn)讀寫分離

    Spring Boot 結合 aop 實現(xiàn)讀寫分離

    這篇文章主要介紹了Spring Boot 結合 aop 實現(xiàn)讀寫分離的示例,幫助大家更好的理解和使用Spring Boot框架,感興趣的朋友可以了解下
    2020-11-11
  • Java實現(xiàn)簡單的抽牌游戲

    Java實現(xiàn)簡單的抽牌游戲

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單的抽牌游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Springboot FeignClient調(diào)用Method has too many Body parameters解決

    Springboot FeignClient調(diào)用Method has too m

    本文主要介紹了Springboot FeignClient微服務間調(diào)用Method has too many Body parameters 解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • mybatis查詢語句揭秘之封裝數(shù)據(jù)

    mybatis查詢語句揭秘之封裝數(shù)據(jù)

    這篇文章主要給大家介紹了關于mybatis查詢語句揭秘之封裝數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mybatis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • 深入淺析jcmd:JDK14中的調(diào)試神器

    深入淺析jcmd:JDK14中的調(diào)試神器

    這篇文章主要介紹了jcmd:JDK14中的調(diào)試神器,本文給大家提到了jcmd的語法,通過實例列舉的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Java日期工具類操作字符串Date和LocalDate互轉

    Java日期工具類操作字符串Date和LocalDate互轉

    這篇文章主要介紹了Java日期工具類操作字符串Date和LocalDate互轉,文章首先通過需要先引入坐標展開主題的相關內(nèi)容介紹,需要的朋友可以參一下
    2022-06-06
  • Java使用Random類生成隨機數(shù)示例

    Java使用Random類生成隨機數(shù)示例

    這篇文章主要介紹了Java使用Random類生成隨機數(shù),結合實例形式分析了java基于Random類生成隨機數(shù)與遍歷輸出相關操作技巧,需要的朋友可以參考下
    2019-07-07
  • IP查詢系統(tǒng)的異步回調(diào)案例

    IP查詢系統(tǒng)的異步回調(diào)案例

    本文主要分享了IP查詢系統(tǒng)的異步回調(diào)案例,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Spring Boot實現(xiàn)STOMP協(xié)議的WebSocket的方法步驟

    Spring Boot實現(xiàn)STOMP協(xié)議的WebSocket的方法步驟

    這篇文章主要介紹了Spring Boot實現(xiàn)STOMP協(xié)議的WebSocket的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05

最新評論