文档章节

迭代器的使用小记

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

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
南京
程序员
私信 提问
机器学习 西瓜书 Day17 半监督学习

p293 - p319 啊好困 = = 昨天倒是很早滚上床了 就是失眠了:) 大概也是三点多才睡着吧 所以今天也要努力早睡! 不废话了,进入第13章,但愿这章有意思点。 第13章 半监督学习 13.1 未标记样...

皇家马德里主教练齐达内
05/25
0
0
零基础入门学习Python,这13个Python惯用小技巧一定要收藏

Python的小技巧很多,入门容易精通难!在进阶的路上,有没有什么好的技巧和好的方法,就是不断总结,不断记笔记!尤其是好的用法,就像写作文一样,好的名言警句要多背诵一些,写作的时候,肚...

糖宝lsh
11/03
0
0
迭代和递归

迭代和递归 递归:是自顶向下逐步拓展需求,最后自下向顶运算。即由f(n)拓展到f(1),再由f(1)逐步算回f(n) 迭代:是直接自下向顶运算,由f(1)算到f(n)。 2. 迭代和递归 递归是在函数内调用本...

oneboi
2016/10/17
9
0
机器学习.周志华《13 半监督学习 》

半监督学习SSL的3种假设: (1) 平滑假设(Smoothness Assumption) 位于稠密数据区域的两个距离很近的样例的类标签相似,当两个样例北稀疏区域分开时,它们的类标签趋于不同。 (2) 聚类假...

julialove102123
04/19
0
0
Generator的正确打开方式

前两年大量的在写+,用它来写一些类似同步的代码 但实际上,并不是被造出来干这个使的,不然也就不会有后来的、了 是一个可以被暂停的函数,并且何时恢复,由调用方决定 希望本文可以帮助你理...

Jiasm
05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

方之熙博士被任命为RISC-V基金会中国顾问委员会主席,加速RISC-V ISA在中国的应用

中国顾问委员会将就RISC-V基金会的教育和应用推广战略提供指导 今天在中国乌镇举行的世界互联网大会(World Internet Conference)上,RISC-V基金会(RISC-V Foundation)宣布,半导体行业资深人...

whoisliang
31分钟前
1
0
为了用户体验,不要做浏览器兼容

读者看到文章标题也许会感到奇怪,按照通常的经验来说,为了用户体验应该做浏览器兼容,以便让不同的浏览器用户都能有好的体验,从而增加网站的流量,但是我认为做浏览器兼容属于同样的工作重...

Bob2100
31分钟前
1
0
分布式定时任务架构 (二) xxl-job二次开发实践

4个月前,公司有任务调度的需求,需要一周内完成,时间非常紧。 需求有三点: web界面编辑cron表达式,启动,停止任务 接入公司的rpc成本较低,公司有自研的rpc,研发人员希望共用同一套注解 ...

勇哥和你一起学技术
48分钟前
1
0
React和Redux的连接react-redux

通过Redux文档来了解react-redux,在一段时间的实践后准备翻一翻源代码,顺便做些相关的总结。我看的代码的npm版本为v4.0.0,也就是说使用的React版本是0.14.x。 react-redux提供两个关键模块...

前端攻城老湿
今天
1
0
1、Mybatis连接池配置 和 Context.xml的配置

注意: (1)mybatis 3.2 之前 通过 set get 方法 获取相关属性。之后通过属性姓名获取相关关联。 (2)mybatis 映射 优先为 sql 语句中的别名与实体类的属性进行映射。 (3)jndi Java用于调...

KingFightingAn
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部