日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java集合---迭代器iterator

發布時間:2025/3/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java集合---迭代器iterator 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:ArraryList? 最終繼承超級接口Collection,Colection接口繼承Iterator接口。

public interface Collection<E> extends Iterable<E>

而Iterator只有一個方法:

Iterator<T>?iterator()

在ArraryList實現類中有對方法的重寫,返回當前實現類的迭代器對象(Returns an iterator over a set of elements of type T.)。

1 package test08; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 import java.util.Iterator; 6 7 public class iter_demo { 8 public static void main(String...args){ 9 iter_test(); 10 11 } 12 public static void iter_test(){ 13 Collection<Integer> in_ar=new ArrayList<Integer>(); 14 in_ar.add(11); 15 in_ar.add(11); 16 in_ar.add(11); 17 in_ar.add(11); 18 Iterator<Integer> in_it=in_ar.iterator(); 19 while (in_it.hasNext()){ 20 System.out.print(in_it.next()); 21 } 22 } 23 }

?

其中:hasNnext()判斷迭代器中是否還有下一個數組元素。

next()表示獲取下個數組元素。

迭代器實現原理類似內存指針,hasNext每次判斷下個元素是否為空,即指針指向下個元素,有就返回true否則返回false。

二、增強for

語法: for(type? 變量:可迭代的對象){

      代碼塊

    }

增強for雖然能減少代碼的量,但是弊端也明顯,無法操作索引。

上面例子不采用迭代器:

1 package test08; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 import java.util.Iterator; 6 7 public class iter_demo { 8 public static void main(String...args){ 9 iter_test(); 10 11 } 12 public static void iter_test(){ 13 Collection<Integer> in_ar=new ArrayList<Integer>(); 14 in_ar.add(11); 15 in_ar.add(11); 16 in_ar.add(11); 17 in_ar.add(11); 18 for(Integer i:in_ar){ 19 System.out.print(i); 20 } 21 } 22 }

?

?如果想要操作索引,還得使用傳統的for。

1 package test08; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 import java.util.Iterator; 6 7 public class iter_demo { 8 public static void main(String...args){ 9 iter_test(); 10 11 } 12 public static void iter_test(){ 13 Collection<Integer> in_ar=new ArrayList<Integer>(); 14 in_ar.add(11); 15 in_ar.add(11); 16 in_ar.add(11); 17 in_ar.add(11); 18 for(Integer i=0;i<in_ar.size();i++){ 19 ArrayList<Integer> in_ar_new=(ArrayList<Integer>) in_ar; 20 System.out.print(in_ar_new.get(i)); 21 } 22 } 23 }

?

轉載于:https://www.cnblogs.com/evilliu/p/7837742.html

總結

以上是生活随笔為你收集整理的java集合---迭代器iterator的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。