文档章节

迭代器的使用小记

Loveror_ahu
 Loveror_ahu
发布于 2017/09/07 15:31
字数 250
阅读 17
收藏 0

精选30+云产品,助力企业轻松上云!>>>

java.lang.Iterable接口比较简单:

(1) 使用方法iterator()要求容器返回一个Iterator对象。第一次调用Iterator的next()方法时,它返回序列的第一个元素。

(2) 使用next()获得序列中的下一个元素。

(3) 使用hasNext()检查序列中是否还有元素。

(4) 使用remove()将迭代器新返回的元素删除。

在java8中Iterator接口源码:

interface Iterator<E>{
	boolean hasNext(); //判断是否下一个
	E next(); //下一个
	default void remove(){
	    throw new UnsupportedOperationException();
	}
	default void forEachRemaining(Consumer<? super E> action){
	    Objects.requireNonNull(action);
	    while(hasNext()){
		action.accept(next());
	    }
	}
}

1.简单应用迭代器对map进行遍历输出

Map<String, String> name = new HashMap<String, String>();
name.put("you", "二手车");
name.put("me", "二手房");
name.put("him", "二手货");
name.put("her", "二手油");
JSONObject json = JSONObject.fromObject(name);
for (Iterator it = json.keys(); it.hasNext();) {
	 System.out.println(name.get(it.next()));
}

2.反过来对请求链接里的参数生成map

String string = "{\"you\":\"you\",\"her\":\"her\",\"him\":\"him\"}";
JSONObject Json = JSONObject.fromObject(string);
Map map = new HashMap();
for (Iterator iterator = Json.keys();iterator.hasNext();) {
	String key = (String)iterator.next();
	String value = Json.getString(key);
	map.put(key, value);
}
System.out.println(map.toString());

 

Loveror_ahu
粉丝 1
博文 17
码字总数 16911
作品 0
南京
程序员
私信 提问
加载中
请先登录后再评论。
Python面试题之Python迭代器

要理解迭代器,首先要从字面意思来说。 迭代 重复 下一次重复基于上一次的结果 软件开发就是典型的迭代更新。 讲迭代,我们就先来模拟一下迭代: 现在让我们使用循环来遍历出一个列表里面的所...

osc_a9fd007s
2018/06/11
2
0
Python中return和yield的区别

一、说明 return一直中,每中语言中其没没有很大差别,就不多说了。(shell语言return的是退出状态,可能差别是比较大的,感兴趣可参见“Linux Shell函数定义与调用”) 最早看到yield应该是...

努力改个网名
03/20
0
0
(六)python3 只需3小时带你轻松入门——循环

for循环 使用循环可以重复执行某些代码,可以方便程序编写;但是不记效率的使用循环会使程序运行效率降低。 range 使用range()函数可以生成多个连续整数的range对象(这个概念后面会说)。基本...

1_bit
06/26
0
0
半监督学习分类——???

半监督学习 主动学习 用已标记样本训练出一个模型,用模型对未标记样本进行预测,选出对改善性能有帮助(比如选出那些不太确定的未标记样本)的样本,向专家征求最终标记的意见,并将专家意见...

bonelee
04/07
0
0
记一次偶然的java.util.ConcurrentModificationException异常

ArrayList集合迭代器删除报错:java.util.ConcurrentModificationException public static void main(String[] args) { List<String> arrayList = new ArrayList<>(); ......

osc_r8q2esik
2019/02/28
1
0

没有更多内容

加载失败,请刷新页面

加载更多

PG库实现 t+1 同步

需求:业务场景中有很多需要查询t+1的数据,但又不想影响生产实时的业务,是否可以搭建一个延时的灾备库就可以解决这个问题呢。 问题:如何实现延时? 解决方向:recovery_min_apply_delay ...

易野
6分钟前
0
0
jpgraph 实例文档

下载 在官方网站http://www.aditus.nu/jpgraph/ 下载jpgraph,其中1.X系列是用于PHP4的,2.X系列是用于PHP5的。 安装 将下载的得到的jpgraph压缩文件解压至相应的路径。 配置 首先需要注意的...

osc_2ch77h9m
6分钟前
9
0
画IDC状态趋势图

[背景]公司以前对IDC状态的测试都是通过perl+crond结合,向指定某IDC的IP发送icmp包,并将其结果保存到test.log下,对于后斯的分析,是采取手工的方式(格式化数据,结合excel),这样操作下...

osc_moibnxyj
7分钟前
6
0
整理性能计数器注释

[前话]收集性能计数器注释,以备使用! [内容] 1 % Processor Time (Processor _Total) 指处理器用来执行非闲置线程时间的百分比。计算方法是,度量处理器用来执行空闲线程的时间,然后用 10...

osc_5nscij7v
8分钟前
0
0
你想要的WinForm界面开发教程在这里 - 如何设置较厚的表格边框

下载DevExpress v20.1完整版 DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。想要体验?点击下载>> 应用程序的外观随时代发展不断变化,自厚...

FILA6666
9分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部