java集合---迭代器iterator
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vuejs实现本地数据的筛选分页
- 下一篇: 有许多部分没有在cgroup中显示啊,c