社区
Java SE
帖子详情
foreach过程中,如果读取它的计数器。类似(for int i;;) 的那个i
孤尽JavaSea
2010-03-12 02:19:08
如果foreach没有这个功能,只能用for(;;)了。
...全文
522
13
打赏
收藏
foreach过程中,如果读取它的计数器。类似(for int i;;) 的那个i
如果foreach没有这个功能,只能用for(;;)了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BearKin
2010-03-14
打赏
举报
回复
[Quote=引用 9 楼 bao110908 的回复:]
原理是这样的:
一、对于实现了 Iterable 接口中类,编译器内部转换成类似这样的格式:
for(Iterator<T> i = list.iterator(); i.hasNext(); ) {
T t = i.next();
}
二、对于数组,编译器内部转换成类似这样的格式:
for(int i = 0; i < nums.length; i++) {
int n……
[/Quote]
您的意思是用for(int i : ints) 假设后面的是数组 在里面可以用i?...
GG_wg
2010-03-13
打赏
举报
回复
String[] strs = {"1","2"};
int i =0;
foreach(String str : strs){
System.out.println(str);
i++;
}
dinghun8leech
2010-03-13
打赏
举报
回复
[Quote=引用楼主 java_gannbare 的回复:]
如果foreach没有这个功能,只能用for(;;)了。
[/Quote]
foreach在遍历集合类时又没有for循环快,何必一定要用foreach?
shen8
2010-03-13
打赏
举报
回复
顶楼上。。。路过
火龙果被占用了
2010-03-13
打赏
举报
回复
原理是这样的:
一、对于实现了 Iterable 接口中类,编译器内部转换成类似这样的格式:
for(Iterator<T> i = list.iterator(); i.hasNext(); ) {
T t = i.next();
}
二、对于数组,编译器内部转换成类似这样的格式:
for(int i = 0; i < nums.length; i++) {
int n = nums[i];
}
孤尽JavaSea
2010-03-13
打赏
举报
回复
foreach原理是不是这样的:
Collection x = new ArrayList();
x.add(1);x.add(2);
Iterator y = x.iterrator();
while(x.hasNext){
......
}
BearKin
2010-03-12
打赏
举报
回复
for(;;)吧
for each是个简写 他实际实现LZ可以上网搜索下 集合是用Iterator 数组我倒是不知道
孤尽JavaSea
2010-03-12
打赏
举报
回复
还有更好的建议吗?
小李子
2010-03-12
打赏
举报
回复
int i = 0;
foreach()
{
//i
i++;
}
孤尽JavaSea
2010-03-12
打赏
举报
回复
再次求助。
孤尽JavaSea
2010-03-12
打赏
举报
回复
foreach 如何写入i
zliuzz
2010-03-12
打赏
举报
回复
顶楼上。。。路过
APOLLO_TS
2010-03-12
打赏
举报
回复
i++写进程序内部,不就行了。
java for list i_Java
中
list对象的三种遍历方式
1.普通for循环-for传统的for循环遍历,基于
计数器
的,遍历者自己在集合外部维护一个
计数器
,然后依次
读取
每一个位置的元素,当
读取
到最后一个元素后,停止。主要就是需要按元素的位置来
读取
元素。for(
int
i = 0 ; i < list.size() ; i++) {//内部不锁定,效率最高,但在多线程要考虑并发操作的问题。System.out.pr
int
ln(list.get(i)...
Java使用for
foreach
循环和Iterator迭代器遍历List Set Map集合
目录 Java的三种常规遍历方式: 一、传统的for循环遍历 二、增强型
foreach
循环遍历 三、Iterator迭代器遍历 Lsit集合遍历 Set集合遍历 Map集合遍历 Java的三种常规遍历方式: 一、传统的for循环遍历 遍历者自己在集合外部维护一个
计数器
,然后依次
读取
每一个位置的元素,当
读取
到最后一个元素后,停止。主要就是需要按元素的位置来
读取
元素。 二、增强型
foreach
循环遍历 根据反编译的字节码可以发现,
foreach
内部也是采用了Iterator的方式实现,只
Java的for循环和for each循环的区别
1、for循环经常用来遍历数组,通过
计数器
可以根据索引来访问数组的每个元素: 但是这个方式只是遍历数组的索引,如果想得到这个元素的值的大小,还需要通过索引对应
读取
这个元素的值
int
[] ns = { 1, 4, 9, 16, 25 }; for (
int
i=0; i<ns.length; i++) { //遍历索引i System.out.pr
int
ln(ns[i]); //通过索引i
读取
数组的值 n[i] } 2、java提供的for each循环可以更简单地遍
ArrayList for 和
forEach
遍历分析
Java
中
ArrayList集合数据结构:数组 顺序存储,Random Access(Direct Access)这种方式,相邻的数据元素存放于相邻的内存地址
中
,整块内存地址是连续的,可以根据元素的位置直接计算出内存地址,直接进行
读取
。对于顺序存储
读取
一个特定位置元素的平均时间复杂度为O(1),遍历整个集合的平均时间复杂度为O(n)。正常来说,只有基于数组实现的集合,才有这种特性。 1.传统的for循环遍历,基于
计数器
的: 遍历者自己在集合外部维护一个
计数器
,然后依次
读取
每一个位置的元素,当.
遍历用for还是
foreach
?
for循环就像是多功能的瑞士军刀,适合于那些需要精确控制循环
过程
的场景。你可以自由地选择起点和终点,甚至可以逆向遍历或调整步长。
foreach
循环则像是专一的榔头,对于简单地遍历集合来说,使用起来既快捷又高效。它让你免去了处理索引的烦恼,让你可以专注于元素本身。编程不仅仅是关于写代码,更是关于选择合适的工具来解决问题。for和
foreach
就像是你工具箱里的两把锤子,它们各有所长,懂得在不同的情境下选择合适的一把,能让你的编程之路更加顺畅。关注萤火架构,加速技术提升!
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章