溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在JAVA項目中增強(qiáng)for循環(huán)

發(fā)布時間:2020-12-01 15:47:04 來源:億速云 閱讀:155 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)如何在JAVA項目中增強(qiáng)for循環(huán),小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1 Iterator迭代器

1.1 Iterator接口

  1. java.util.Iterator接口也是Java集合中的一員;

  2. Iterator主要用于迭代訪問(即遍歷)Collection中的元素,因此Iterator對象也被稱為迭代器。

  3. public Iterator iterator(): 獲取集合對應(yīng)的迭代器,用來遍歷集合中的元素。

迭代: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("關(guān)羽");
    sg.add("張飛");

    //使用迭代器進(jìn)行遍歷
    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方法之前,迭代器的索引位于第一個元素之前,不指向任何元素,當(dāng)?shù)谝淮握{(diào)用迭代器的next方法后,迭代器的索引會向后移動一位,指向第一個元素并將該元素返回,當(dāng)再次調(diào)用next方法時,迭代器的索引會指向第二個元素并將該元素返回,依此類推,直到hasNext方法返回false,表示到達(dá)了集合的末尾,終止對元素的遍歷。

2 增強(qiáng)for循環(huán)

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

格式:

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

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

public class Demo {
  public static void main(String[] args) {
 int[] arr = {3,5,6,87};
    //使用增強(qiáng)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("關(guān)羽");
    sg.add("張飛");
    //使用增強(qiáng)for遍歷
    for(String s :sg){//接收變量s代表 代表被遍歷到的集合元素
      System.out.println(s);
    }
  }
}

以上就是如何在JAVA項目中增強(qiáng)for循環(huán),小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI