一: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.)。

 package test08;

 import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class iter_demo {
public static void main(String...args){
iter_test(); }
public static void iter_test(){
Collection<Integer> in_ar=new ArrayList<Integer>();
in_ar.add();
in_ar.add();
in_ar.add();
in_ar.add();
Iterator<Integer> in_it=in_ar.iterator();
while (in_it.hasNext()){
System.out.print(in_it.next());
}
}
}

其中:hasNnext()判断迭代器中是否还有下一个数组元素。

next()表示获取下个数组元素。

迭代器实现原理类似内存指针,hasNext每次判断下个元素是否为空,即指针指向下个元素,有就返回true否则返回false。

二、增强for

语法: for(type  变量:可迭代的对象){

      代码块

    }

增强for虽然能减少代码的量,但是弊端也明显,无法操作索引。

上面例子不采用迭代器:

 package test08;

 import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class iter_demo {
public static void main(String...args){
iter_test(); }
public static void iter_test(){
Collection<Integer> in_ar=new ArrayList<Integer>();
in_ar.add();
in_ar.add();
in_ar.add();
in_ar.add();
for(Integer i:in_ar){
System.out.print(i);
}
}
}

如果想要操作索引,还得使用传统的for。

 package test08;

 import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class iter_demo {
public static void main(String...args){
iter_test(); }
public static void iter_test(){
Collection<Integer> in_ar=new ArrayList<Integer>();
in_ar.add();
in_ar.add();
in_ar.add();
in_ar.add();
for(Integer i=;i<in_ar.size();i++){
ArrayList<Integer> in_ar_new=(ArrayList<Integer>) in_ar;
System.out.print(in_ar_new.get(i));
}
}
}

java集合---迭代器iterator的更多相关文章

  1. Java集合迭代器 Iterator分析

    简介 迭代器是遍历容器的一种常用方法,它屏蔽了容器的实现细节,无需暴露数据结构内部,就可以对容器进行遍历,迭代器本身也是一种设计模式,迭代是一种特殊的遍历方式. Iterator 在java中,迭代器 ...

  2. Java 实现迭代器(Iterator)模式

    类图 /** * 自己定义集合接口, 相似java.util.Collection * 用于数据存储 * @author stone * */ public interface ICollection ...

  3. java集合迭代器

    一.Java中有一个设计模式是迭代器模式 1.迭代器模式定义迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示. 2.迭代器模式概述Java集合框 ...

  4. 集合迭代器Iterator

    迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节. 什么是迭代器Iterator? Java集合框架的集合类,我们有时候称之为容器.容器的种类有很多种,比 ...

  5. Java集合(二)--Iterator和Iterable

    Iterable: public interface Iterable<T> { Iterator<T> iterator(); } 上面是Iterable源码,只有一个ite ...

  6. Java集合、Iterator迭代器和增强for循环整理

    集合 集合,集合是java中提供的一种容器,可以用来存储多个数据. 数组的长度是固定的.集合的长度是可变的.集合中存储的元素必须是引用类型数据 1.1      ArrayList集合存储元素 pac ...

  7. Java 集合、Iterator迭代器、泛型等

    01集合使用的回顾 A:集合使用的回顾 a.ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayList<I ...

  8. Java中迭代器Iterator的使用

    Java集合类中Map接口下的相关类并没有像Collection接口的相关类一样实现get()方法,因此在要实现遍历输出的场景中没法直接用get()方法来取得对象中的数据,但Java本身提供了另一种遍 ...

  9. java:集合输出Iterator,ListIterator,foreach,Enumeration

    //集合输出,集合的四种输出 Iterator, ListIterator, foreach, Enumeration 只要碰到集合,第一输出选择是Iterator类. Iterator<E&g ...

随机推荐

  1. 左连接sql

    <?php public function sumZong($id){ $sql =' SELECT * FROM vvt_league_user AS p Left join vvt_leag ...

  2. 有趣:256个class选择器可以干掉1个id选择器——张鑫旭

    我们应该都知道,从选择器得分权重上将,id选择器(#aaa{})和class选择器(.aaa{})完全不是一个数量级的,前者:1-0-0; 而后者为0-1-0.因此: #id { color:dark ...

  3. 微信网页授权获取code

    <script> var code = GetQueryString('code'); var callback = 'personal.html'; var appId = " ...

  4. sublime text2 注册码

    近终于找到  sublime Text2 升级到 2.0.2 build 2221 64位 的破破解 输入注册码就成了 ----- BEGIN LICENSE ----- Andrew Weber S ...

  5. div+css模拟select下拉框

    <!DOCTYPE html><html ><head lang="zh"> <meta http-equiv="Content ...

  6. 朴素贝叶斯文本分类实现 python cherry分类器

    贝叶斯模型在机器学习以及人工智能中都有出现,cherry分类器使用了朴素贝叶斯模型算法,经过简单的优化,使用1000个训练数据就能得到97.5%的准确率.虽然现在主流的框架都带有朴素贝叶斯模型算法,大 ...

  7. 在Linux上利用core dump和GDB调试

    段错误(segfault) "段错误"是程序试图操作不允许访问或试图访问的不允许内存的情况.可能导致段错误的原因主要有: 1.试图解引用空指针(你不允许访问内存地址0) 2.试图解 ...

  8. sqlserver的资源调控器

    参考SQL Server2014管理最佳实战,所做的笔记. 1:创建资源池 use master go create resource pool poolAdhoc with ( min_cpu_pe ...

  9. 解决eclipse 文件更新不自动刷新的问题

    打开eclipse 1. Window ===> Preferences ===> General ===> Workspace 2. 勾选 1> Refresh using ...

  10. [翻译] Icon and Image Sizes

    Icon and Image Sizes iOS Human Interface Guidelines Every app needs an app icon and a launch file or ...