Iterator是解决不同容器的一种设计模型,同时支持ArrayList、LinkedList、HashSet、TreeSet集合数据的迭代。

image.png

import typeinfo.pets.;
import java.util.
;
public class CrossContainerIteration {
public static void display(Iterator<Pet> it) {
while(it.hasNext()) {
Pet p = it.next();
System.out.print(p.id() + ":" + p + " ");
}
System.out.println();
}
public static void main(String[] args) {
ArrayList<Pet> pets = Pets.arrayList(8);
LinkedList<Pet> petsLL = new LinkedList<Pet>(pets);
HashSet<Pet> petsHS = new HashSet<Pet>(pets);
TreeSet<Pet> petsTS = new TreeSet<Pet>(pets);
display(pets.iterator());
display(petsLL.iterator());
display(petsHS.iterator());
display(petsTS.iterator());
}
}
/* 输出
0:Rat 1:Manx 2:Cymric 3:Mutt 4:Pug 5:Cymric 6:Pug 7:Manx
0:Rat 1:Manx 2:Cymric 3:Mutt 4:Pug 5:Cymric 6:Pug 7:Manx
4:Pug 6:Pug 3:Mutt 1:Manx 5:Cymric 7:Manx 2:Cymric 0:Rat
5:Cymric 2:Cymric 7:Manx 1:Manx 3:Mutt 6:Pug 4:Pug 0:Rat

还可以与for循环联合使用

List<String> all = new ArrayList<String>(Arrays.asList(insarray));
all.addAll(alist);
Iterator<String> it = all.iterator();
for(int i=0;i<alist.size();i++){
String outstr = it.next();
it.remove();
System.out.print(outstr);
}

java:我们对Iterator理解错了相关推荐

  1. Java中 多态的理解

    ** Java中 多态的理解 ** 多态官方定义为: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指 ...

  2. 【转载】谈谈我对Java中CallBack的理解

    谈谈我对Java中CallBack的理解 转载自: http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallB ...

  3. Java学习之Iterator(迭代器)的一般用法

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...

  4. Java基础-我所理解的泛型

    Java基础-我所理解的泛型 引用 [java]泛型中,? extends T 与 ? super T 的区别.看法_winrh的博客-CSDN博客_泛型 extends 前言 Java基础系列,我所 ...

  5. Java 回调函数的理解

    以下是我对java回调函数的理解,希望对各位有帮助. 简而言之,假设有两个类A与B,还有一个回调接口C(有一个c方法).其中A类持有一个B类对象作为属性和拥有一个a方法,并实现了接口C,所以A类中就有 ...

  6. Java常量字符串String理解

    Java常量字符串String理解 以前关于String的理解仅限于三点: 1.String 是final类,不可继承 2.String 类比较字符串相等时时不能用" == ",只 ...

  7. Java学习之Iterator(迭代器)的一般用法(转)

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...

  8. java set iterator_Java中的TreeSet的iterator()方法 Java.util.TreeSet.iterator() - Break易站

    Java中的TreeSet Java.util.TreeSet.iterator()方法用于返回与TreeSet相同元素的迭代器.元素以随机顺序从树集中的内容返回. 句法: Iterator iter ...

  9. 谈谈对java中分层的理解_让我们谈谈网页设计中的卡片设计

    谈谈对java中分层的理解 "I want a card", this is the first demand point that the customer said in th ...

最新文章

  1. php截取字符串 xml,php截取字符串并保留完整xml标签的函数代码_php技巧
  2. Usb设备驱动3:root hub守护进程2
  3. Python实现遍历目录与子目录,并找到以.txt结尾的文件
  4. Android之解决NestedScrollView嵌套ViewPager导致出现左右页面滑动冲突
  5. 深度学习——从文件中载入训练数据
  6. HTML5的革新:结构之美
  7. if condition 大于_西门子进一步扩展Sinumerik Edge 平台的应用程序AnalyzeMyMachine/Condition...
  8. 开源边缘计算平台研究分析
  9. php字符串去掉指定字符串,php怎么去除指定字符串
  10. Linux随笔14-私有CA搭建并签发证书、ssh客户端和服务器端常用参数
  11. Xcode隐藏SDK C、C++、Objective-C符号
  12. VUE-waterfall瀑布流组件使用
  13. 一个排列是某些对象的有序组合,例如,3124 就是数字 1,2,3,4 的一种可能排列。 如果所有的排列按照数值或者字母序排序,我们称其为一个字典序。 0, 1, 2 的字典排列有:012 021 1
  14. android 禁用触摸屏,Touch Protector-安卓禁用手机触摸屏软件
  15. 数据结构之数据指标对比(Performance Measurement)
  16. 【有了可图网】PS实战系列64:用PS的3D功能设计制作一个酷炫的彩色立体字体
  17. Linux所有服务开放对应端口大全
  18. echarts地图文字重叠解决方案_Echarts扩展地图文字位置错乱的问题
  19. Morphing 动画
  20. 使用conda安装tensorflow-gpu | ubuntu系统

热门文章

  1. Bzoj3924 [Zjoi2015]幻想乡战略游戏
  2. 深入解析ext2文件系统之mke2fs
  3. 微信公众账号开发文档
  4. Android使用Intent实现拨打电话的动作
  5. clientHeight,offsetHeight,scrollHeight迷一样的三个值
  6. CTF-RSA解密脚本
  7. labview数据枚举数据服务器,枚举器报告'未指定的错误,不能枚举服务器
  8. (二) 时间/空间复杂度计算
  9. fread读结构体返回值是0无错误_嵌入式C编程之错误处理(附代码例子)!
  10. 计算机有什么知识,计算机基础知识有什么