导航:首页 > 编程语言 > java中迭代器

java中迭代器

发布时间:2022-03-07 18:50:41

java中如何实现迭代器

importjava.util.ArrayList;
importjava.util.Collection;
importjava.util.Iterator;

publicclassIterateDemo{
publicstaticvoidmain(String[]args){
Collectioncollection=newArrayList();
collection.add("abcd");
collection.add("defg");
collection.add("true");

for(Iteratoriterator=collection.iterator();iterator.hasNext();){
System.out.println(iterator.next());
}
}
}

❷ Java中什么叫迭代器

迭代器(Iterator)

迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

Java中的Iterator功能比较简单,并且只能单向移动:

(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

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

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

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

Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

❸ 怎么理解java中迭代器

迭代器就是把一个集合类(如:List,ArrayList)里面的东西一次全取出来,按照原来的顺序排成一个队(比如在医院),然后你对它说"下一个"(.next)的时候,队头那个家伙就出来了(返回一个对象),你就可以给它看病了,然后当没有人了的时候你再喊"下一个",护士小姐就会对你说没有人了(next返回false),你就可以下班了

❹ java中什么叫迭代,什么叫迭代器

迭代:

是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。

对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

迭代器(Iterator)模式:

又叫做游标模式,它的含义是,提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。

注意:Java的集合框架的集合类,有的时候也称为容器。

从定义上看,迭代器是为容器而生,它本质上就是一种遍历的算法。因为容器的实现千差万别,很多时候不可能知道如何去遍历一个集合对象的元素。Java为我们提供了使用迭代的接口,Java的所有集合类丢失进行迭代的。

简单的说,迭代器就是一个接口Iterator,实现了该接口的类就叫做可迭代类,这些类多数时候指的就是java.util包下的集合类。

总结:

迭代器,提供一种访问一个集合对象各个元素的途径,同时又不需要暴露该对象的内部细节。java通过提供Iterator和Iterable俩个接口来实现集合类的可迭代性,迭代器主要的用法是:首先用hasNext()作为循环条件,再用next()方法得到每一个元素,最后在进行相关的操作。

(4)java中迭代器扩展阅读

首先,创建了一个List的集合对象,并放入了俩个字符串对象,然后通过iterator()方法得到迭代器。iterator()方法是由Iterable接口规定的,ArrayList对该方法提供了具体的实现,在迭代器Iteartor接口中,有以下3个方法:

1、hasNext()该方法英语判断集合对象是否还有下一个元素,如果已经是最后一个元素则返回false

2、next()把迭代器的指向移到下一个位置,同时,该方法返回下一个元素的引用

3、remove() 从迭代器指向的Collection中移除迭代器返回的最后一个元素,该操作使用的比较少。

注意:从Java5.0开始,迭代器可以被foreach循环所替代,但是foreach循环的本质也是使用Iterator进行遍历的。

❺ java中什么叫“迭代”,什么叫“迭代器”

迭代
通俗点说 叫 一个个数过去,
实现这样一个个数过去功能的东西,叫迭代器。

java迭代器 较多使用在容器中,如数组链表 ArrayList(反正就是能装东西的玩意儿)
举个例子:
//我们先往链表中装东西
ArrayList a = new ArrayList();
a.add("东西1");
a.add("东西2");
//从链表中取东西怎么办呢,自然就用到了迭代器
//用法是这样的
Iterator iter = a.iterator() ; //iter迭代器对象,可以用它来数了
while(iter.hasNext()){ //先往左数,如果有东西就执行{}里的语句
String m = (String)iter.next(); //数到什么就拿出来 赋值给m
System.out.println(m); //拿出m用一下,即打印
}

❻ Java中为什么要提供一个迭代器

是一种迭代器模式,是一种经验,方便以后的人开发。我们应该站在巨人的肩上开发的,所以不需要自己再去写什么迭代遍历。

❼ java中为什么要使用迭代器

//我们先往链表中装东西
ArrayList a = new ArrayList();
a.add("a");
a.add("b");
(数据结构中应该算是双向链表吧(双向还是单向不太清楚))
//从链表中取东西,用到了迭代器

Iterator iter = a.iterator() ; //iter迭代器对象,可以用它来数了
while(iter.hasNext()){
String m = (String)iter.next();
System.out.println(m);
}
首先需要判断有没有接下来的东西:iter.hasNext()
就是拿东西:iter.next();
好比下楼,从顶楼往下,到1楼了没-1楼所以就停止了
或到了你需要的楼层就停下
可以看看数据结构
补充下
(数组遍历和集合遍历是不同的,集合是容器,数组是模具,你也可以将集合用一个数组储存,再用数组遍历,但是这样不如迭代器来的更方便)

❽ JAVA中迭代器有什么缺点吗

没错,会有影响,因为迭代的次数取决于集合的元素数量,在删除或增加集合中的元素的时候,迭代的次数会发生变化,而向集合的非末尾的位置插入元素导致的结果会更致命,会导致先前迭代出的元素又一次访问到,或者有的元素访问不到。

❾ 在Java中的迭代器有什么作用啊

由于Java中数据容器众多,而对数据容器的操作在很多时候都具有极大的共性,于是Java采用了迭代器为各种容器提供公共的操作接口。使用Java的迭代器iterator可以使得对容器的遍历操作完全与其底层相隔离,可以到达极好的解耦效果。下面是一个使用迭代器遍历一个序列化和非序列化容器的例子。
mport java.util.*;

publicclass TestIterator {

public static void main(String[] args) {

//创建一个list 它是一个序列化的数据
List list=new ArrayList();
//创建一个map,它是一个非序列化的数据
Map map=new HashMap();

for(int i=0;i<10;i++){
//向容器中添加数据
list.add(new String("list"+i) );

map.put(i, new String("map"+i));

}
//序列化了的数据创建迭代器。
Iterator iterList= list.iterator();//List接口实现了Iterable接口
//进行遍历 如果容器中有下一个数据,就获取下一个数据并打印出来

while(iterList.hasNext()){
String strList=(String)iterList.next();

System.out.println(strList.toString());

}
//创建非序列化数据的迭代器,要先将其序列化
Iterator iterMap=map.entrySet().iterator();
//进行遍历 如果容器中有下一个数据,就获取下一个数据并打印出来
while(iterMap.hasNext()){

Map.Entry strMap=(Map.Entry)iterMap.next();

System.out.println(strMap.getValue());

}

}

}
这些都是一些基础的Java知识,在秒秒学的网站上查看资料。

❿ Java中迭代器怎么使用

修改 toString()

public String toString(){
return "姓名"+this.name + ", 年龄" + this.age + ", 性别" + this.sex;
}

阅读全文

与java中迭代器相关的资料

热点内容
优信二手车解压后过户 浏览:63
Windows常用c编译器 浏览:780
关于改善国家网络安全的行政命令 浏览:835
安卓如何下载网易荒野pc服 浏览:656
javainetaddress 浏览:106
苹果4s固件下载完了怎么解压 浏览:1005
命令zpa 浏览:288
python编译器小程序 浏览:946
在app上看视频怎么光线调暗 浏览:541
可以中文解压的解压软件 浏览:595
安卓卸载组件应用怎么安装 浏览:914
使用面向对象编程的方式 浏览:341
程序员项目经理的年终总结范文 浏览:932
内衣的加密设计用来干嘛的 浏览:434
淮安数据加密 浏览:294
魔高一丈指标源码 浏览:984
松下php研究所 浏览:169
c回调java 浏览:402
梦幻端游长安地图互通源码 浏览:747
电脑本地文件如何上传服务器 浏览:315