博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java:我们对Iterator理解错了
阅读量:6198 次
发布时间:2019-06-21

本文共 1131 字,大约阅读时间需要 3 分钟。

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);
}

转载地址:http://eonca.baihongyu.com/

你可能感兴趣的文章
[再寄小读者之数学篇](2015-05-01 求渐近线)
查看>>
微信帐号被封零钱怎么办?微信针对封停帐号的零钱提取出了一个流程
查看>>
外键值可为空
查看>>
读取Style符号库样式的方法
查看>>
dedecms网站迁移时记得将安装目录放空 附迁移的正确方法
查看>>
ThinkPHP 3.2 用户注册邮箱验证激活帐号
查看>>
C# 读写App.config配置文件的方法
查看>>
第 103 章 Bandwidth
查看>>
SAP S4表结构之变
查看>>
MySQL之伪列实现与实践
查看>>
重温二分查找算法
查看>>
ComponentOne 2016 年产品规划
查看>>
SQL中where条件解析
查看>>
ORACLE 触发器控制用户登录之权限限制
查看>>
oracle 执行存储过程 ora00131
查看>>
SAP Solution Manager流程与邮件集成,提报审批 so easy
查看>>
利用Oracle RDA( Remote Diagnostic Agent)快速收集Oracle产品分析数据
查看>>
timesten常见的一些简单问题
查看>>
C++中一些特殊函数的使用
查看>>
可变参数宏__VA_ARGS__和...
查看>>