文档章节

Java_迭代器_浅析

Ieenben
 Ieenben
发布于 2015/02/25 08:13
字数 326
阅读 30
收藏 1

0、迭代器用法:

List<T> list = new ArrayList<T>();
/*
*list的相关操作;
*/
Iterator<T> iterator= list.iterator();
while(iterator.hasNext()){
    T o=iterator.next();
    //iterator.remove();
}


1、Java迭代器提供的接口定义:java.lang.Iterable;

public interface Iterable<T> {//jdk源码
    Iterator<T> iterator();
}

常用的数据容器,如ArrayListHashSetStackVector等等都是实现了该接口;

2、Iterator迭代器介绍:java.util.Iterator;

先说说Iterator跟Iterable的区别;

    Iterable<T>是迭代器与数据容器的接口,即数据容器要使用Iterator,就必须实现Iterable;

    Iterator<T>是迭代器的接口,须实现hasNext(),next(),remove(),三个元素方法;

为什么在Iterable接口里面的方法不是直接定义三个方法?

     这种方法不具备多态性,即设定好了该如何执行hasNext()等操作,而且程序会显得十分的臃肿和复杂。但是如果采用实施Iterable()接口和返回Iterator对象的方式,则会全然的不同,只要能够返回Iterator对象,完全可以自己的需要进行遍历方式上的自由定义。

    

本文转载自:http://www.cnblogs.com/airwindow/archive/2012/06/25/2560811.html

共有 人打赏支持
Ieenben
粉丝 4
博文 35
码字总数 5025
作品 0
广州
HashMap和Hashtable的区别

HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问...

LCZ777
2014/03/29
0
0
我对java String的理解 及 源码浅析

摘要: 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 每天起床告诉自己,自己的目标是 ”技术 + 英语 还有生活“! -泥沙砖瓦浆木匠 一.char...

泥沙砖瓦浆木匠
2014/08/17
0
0
foreach循环由于传统的for循环(46)

1、java语言支持四种类型: (1)接口(interface): (2)类(class): (3)数组(Array): (4)基本类型(primitive):唯一非引用类型(reference type) 2、方法签名:包括方法名称...

职业搬砖20年
05/16
0
0
阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)

浅析 阿里巴巴 Java 开发规约 (未完成) contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般稍微大一点的公司,都会在系统架构设计完成之后,编码工作开始之前,给出一份属于自家...

seltonzyf
05/12
0
0
java脚本引擎的设计原理浅析

本人在阿里巴巴长期担任和负责规则引擎、流程引擎相关的技术开发,另外还负责开发和维护开源项目: https://github.com/alibaba/QLExpress QLExpress是一个脚本引擎工具,类似Groovy,JRuby...

baobao_pandora
08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于Excel表格导出方法--application/vnd.ms-excel

关于Excel表格导出方法--application/vnd.ms-excel 由于本人所做的项目中需要用到两种将JSP页面table导出到Excel表格的方法(老板也是坑爹),一种是在后台操作数据库来实现,比较简单。由于...

DemonsI
26分钟前
2
0
springboot配置读写分离

我不提供内容,我只是好文章的搬运工 https://www.cnblogs.com/wuyoucao/p/9610882.html

颖辉小居
29分钟前
2
0
Spring 传参

spring传参之@RequestParam注解 @RequestParam注解有三个参数分别是: value、 required、 defaultValue 代码: @RequestMapping(value="test1", method = RequestMethod.GET) public String......

休辞醉倒
31分钟前
2
0
go http 框架性能大幅下降原因分析

最近在开发一个web 框架,然后业务方使用过程中,跟我们说,压测qps 上不去,我就很纳闷,httprouter + net/http.httpserver , 性能不可能这么差啊,网上的压测结果都是10w qps 以上,几个m...

鼎铭
31分钟前
11
0
GCC编译过程记

GCC编译过程记 一、引言 对于编程工作者来说,GCC是一个熟悉的名字,它的全称是“GNU Compiler Collection”。GCC是一组编译器集合,目前其支持C、C++、Objective-C、Objective-C++、Go和RBI...

珲少
33分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部