社区
Java SE
帖子详情
遍历list元素,用iterator() ,再while(hasNext()),next()有什么好处吗
crowgns
2008-07-22 04:29:07
看老大的代码需要取list里面每个元素的时候,都是
Iterator it = list.iterator();
while (it.hasNext()) {
personnelID= (String) it.next();
}
这样比我直接写for(int i=0;i<list.size();i++){
personnelId=(String)list.get(i);
}
有什么优点吗?
...全文
64350
66
打赏
收藏
遍历list元素,用iterator() ,再while(hasNext()),next()有什么好处吗
看老大的代码需要取list里面每个元素的时候,都是 Iterator it = list.iterator(); while (it.hasNext()) { personnelID= (String) it.next(); } 这样比我直接写for(int i=0;i<list.size();i++){ personnelId=(String)list.get(i); } 有什么优点吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
66 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NiklausXu
2012-09-29
打赏
举报
回复
linklist增删时只需将n的前后节点相连,把n置为null即可,而arrayList增删时在先找到m元素将它删除,还要向前移动n-m-1个元素。
但是当linklist元素很多又没有索引的情况下使用linklist是不合理的。因为调用linklist.remove(Object)是很慢的,最坏的在m-1次。如果在有索引可用的情况下使用linklist.remove(int):它是先判断要删除的索引下标在链表的前半、后半部分,如果在前半部就从链表的前面开始查找,在后半部分则从后面开始查找。
NiklausXu
2012-09-29
打赏
举报
回复
[Quote=引用 35 楼 的回复:]
用iterator迭代属于面向对象编程。更加符合JAVA本身。
另外学过数据结构的都应该了解LinkedList,是以链表为基础实现,链表便于顺序访问。在操作的时候,
查快改慢
。
ArrayList,顾名思义,以数组方式实现,便与随机访问,
查慢改快
。
foreach内部实现原理也是迭代,但不方便单个数据的修改。
------------
c,c++,数据结构没及格学生……
[/Quote]
难怪你及不鸟格
shenshengzhiwen
2012-09-12
打赏
举报
回复
帽子说的还是不错的哈。
fanli586
2012-02-09
打赏
举报
回复
太牛了,我是来学习的
GSD159
2011-10-15
打赏
举报
回复
mark
btloveet
2011-08-05
打赏
举报
回复
.....................犀利!
jiangxufang
2011-04-18
打赏
举报
回复
[Quote=引用 36 楼 contra_wind 的回复:]
上面说反了
应该是:
LinkedList,是以链表为基础实现,链表便于顺序访问。在操作的时候,查慢改快。ArrayList,顾名思义,以数组方式实现,便与随机访问, 查快改慢。
[/Quote]
同意你的观点
xunzhaofenghua
2010-12-14
打赏
举报
回复
先mark,很好!
love_future
2010-07-19
打赏
举报
回复
[Quote=引用 7 楼 m_song 的回复:]
真的!
如果List为ArrayList时,这两种方式遍历差别就不大!
如果是LinkedList,反而推荐使用for!
[/Quote]
LinkedList当数据很多的时候你用get试试看,鄙视
bayerntor
2010-06-27
打赏
举报
回复
好贴,学习~~
zuoshouaini
2010-06-22
打赏
举报
回复
学习了
thriller_zw
2010-02-02
打赏
举报
回复
顶一个
chuxu000
2009-12-02
打赏
举报
回复
学习了一次,顶一下
taizhoufox
2009-10-16
打赏
举报
回复
好贴,标记一下。。
jnzw1986
2009-10-14
打赏
举报
回复
领教了。。
my0024
2009-07-30
打赏
举报
回复
路过读读 学习ing
lovetysx
2009-06-28
打赏
举报
回复
明白了,标记一个!
小爽昵称已被占用
2008-07-24
打赏
举报
回复
lz加错分了。。。。
脸红ING
crowgns
2008-07-23
打赏
举报
回复
我搞清楚了,现在在gwt做界面,只支持jdk1.4
[Quote=引用 37 楼 alloyer 的回复:]
上面两个都不怎么样,应该使用下面的形式:
List <String> arraylist = new ArrayList <String>();
for (String str:arraylist) {
System.out.println(str);
}
这做到了最好的封装性.
[/Quote]
crowgns
2008-07-23
打赏
举报
回复
我都不好意思60分了,我要加分....
加载更多回复(44)
Java数据存储类型Array
List
、HashSet、HashMap、Linked
List
使用不同
遍历
方法效率研究By Python
Java不同数据存储类型使用不同
遍历
方法效率研究 GitHub代码仓库 数据存储类型 Array
List
HashSet HashMap Linked
List
遍历
方法 传统
遍历
方法 for(int i=0;i<
list
.size();i++) { String str =
list
.get(i); ... } 内置迭代器 for (String str :
list
) { ... } 显式迭代器
Iterator
it =
list
.
iterator
(); while(it.hasNext()) { String str = it.next(); ... }
java迭代器模式.rar
迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的
遍历
:
Iterator
it =
list
.
iterator
(); while(it.hasNext()){ //using “it.next();”do some businesss logic } 而这就是关于迭代器模式应用很好的例子。
java入门-第16章 Collection、泛型、
Iterator
本课程为想转行学IT的朋友量身定制,快速入门,轻松上手,让非计算机专业的同学能快速学会Java编程. 课程会从计算机的基本组成原理讲起,门槛低,实用性强,让大家轻松掌握一项编程技能。后期课程全部更新完毕后还会帮大家推荐就业,指导简历编写,以及面试相关的指导.
【java】
遍历
list
集合的三种方式,
iterator
遍历
list
集合
【java】
遍历
list
集合的三种方式,
iterator
遍历
list
集合
迭代器
遍历
元素
(
Iterator
<E> it = 集合对象.
iterator
();;hasNext()方法:判断是否有
元素
;next()方法:输出
元素
)
迭代器
遍历
元素
(
Iterator
it = 集合对象.
iterator
();;hasNext()方法:判断是否有
元素
;next()方法:输出
元素
)
Java SE
62,612
社区成员
307,332
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章