迭代器的使用小记
迭代器的使用小记
Loveror_ahu 发表于2个月前
迭代器的使用小记
  • 发表于 2个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 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());

 

标签: 迭代器 遍历
共有 人打赏支持
粉丝 2
博文 7
码字总数 6593
×
Loveror_ahu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: