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

java迭代器list

发布时间:2023-04-10 12:31:11

java迭代器到底怎么使用

我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(跌代器)。 使用跌代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就可以了。但是在使用的时候也是有不同的。 List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面: 1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能 2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。 3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。 4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。 因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。 其实,数组对象也可以用迭代器来实现。 org.apache.commons.collections.iterators.ArrayIterator就可以实现此功能。 一般情况下,我们使用Iterator就可以了,如果你需要进行记录的前后反复检索的话,你就可以使用ListIterator来扩展你的功能,(有点象JDBC中的滚动结果集)。 ListIterator是一个双向迭代器。ListIterator没有当前元素,它的当前游标是位于调用next()和previsous()返回的元素之间。

❷ java的List集合迭代器

是删除了的,亲。是你弄错 了,你对比一下我给你写的代码,你就知道你的问题出在哪了,我只加了一句话。

importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
publicclassArrayListTest
{
publicstaticvoidmain(String[]args)
{
List<Object>list=newArrayList<Object>();
list.add((byte)56);
list.add((short)5656);
list.add(565656);
list.add(56565656L);
Iteratorit=list.iterator();
while(it.hasNext())
{
Objectobj=it.next();
if(objinstanceofInteger)
{
it.remove();
//删除成功以后就不应该再输出这个删除的值,明白吗?
continue;
}
System.out.println(obj);
}
}
}

有什么问题你都可以追问我,没问题,望采纳,谢谢

❸ 在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迭代器list相关的资料

热点内容
整数压缩 浏览:993
最优停止策略问题算法 浏览:715
pdf图片背景 浏览:766
app的图标有什么风格 浏览:28
python代码运行编译器 浏览:936
魔鬼训练程序员 浏览:686
php上传大文件失败 浏览:602
sw服务器指定端口怎么填 浏览:189
java有哪些数组 浏览:984
程序员戴手表影响工作吗 浏览:235
游戏皇后解压视频 浏览:367
c语言怎么打开文件编译 浏览:436
手机上什么app可以设计logo 浏览:800
pid算法单片机 浏览:375
python数据精度 浏览:632
管什么小女孩App 浏览:192
phppdf转换成图片 浏览:468
十八讲pdf 浏览:619
mysql导入压缩文件 浏览:22
usb控制单片机 浏览:906