文档章节

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脚本引擎的设计原理浅析

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

baobao_pandora
08/01
0
0
Java 设计模式(10) —— 迭代器模式

一、迭代器模式 提供一种方法顺序访问一个聚合对象中的各个对象 二、示例 餐馆合并菜单:有一个中餐厅和一个西餐厅合并了,因此服务员服务的时候需要对菜单进行合并,可是 1.西餐厅的菜单是用...

磊_lei
05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

postman发送json格式的post请求

postman发送json格式的post请求 在地址栏里输入请求url:http://127.0.0.1:8081/getmoney 选择“POST”方式, 在“headers”添加key:Content-Type , value:application/json 点击"body",''ra...

两广总督bogang
8分钟前
0
0
Javascript将html转成pdf,下载(html2canvas 和 jsPDF)

最近碰到个需求,需要把当前页面生成pdf,并下载。弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :) 项目源码地址:https://github.com/linwalker/render-html-to-pdf html2ca...

孟飞阳
8分钟前
0
0
pureftp源码编译及设定

--- use for RHEL 567 and Ubuntu 1604 1. download pureftpd wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.bz2 2. install gcc #apt-get install -y li......

zzimac
10分钟前
0
0
Android 事件分发 简单学

本文地址:https://my.oschina.net/lifj/blog/1928132 Android 事件分发过程 网上有很多这样的文章,我又写了一篇,希望能够清晰明了的告诉大家整体的事件分发过程,而不是一脸懵逼的进来,一...

拉风的道长
11分钟前
0
0
手相学 - 天尊山道人看相算命

手相学 - 天尊山道人看相算命 手并拢,左右手正面,背面,小指侧面共六张照片,(可选:舌象、面相)。光线,自然光较好,非阳光直射。 EM4KBJK}Y9Z6ONEL(C~DDV.jpg 生命线 生命线:由拇指与食...

python测试开发人工智能安全
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部