arrayList for(int data :) checkout迭代次数

时间:2012-11-12 04:12:08

标签: java for-loop foreach

也许这是一个愚蠢的问题,但我仍然想知道

如果我使用

ArrayList<Integer> Data=new ArrayList<Integer>();
for(int data:Data)
 //some code here
 //print out the iteration times

我想打印出迭代次数(而不是执行时间)
不使用

for int i;i<blahblahblah;i++) output i

例如输出

output:
This is iteration times: 1   the data is : blahblahblah
This is iteration times: 2   the data is : blahblahblah
This is iteration times: 3   the data is : blahblahblah

2 个答案:

答案 0 :(得分:5)

一种方法是:在循环外定义一个计数器变量并递增计数器。

ArrayList<Integer> Data = new ArrayList<Integer>();
int iterCnt = 0;
for (int data : Data) {
    iterCnt++;
    System.out.println(iterCnt);
}

答案 1 :(得分:1)

嗯,这可能不太正确

ArrayList<Integer> Data=new ArrayList<Integer>();
for(int data:Data)
{
   System.out.println( Data.indexOf(data)+1 );
   Data.remove(Data.indexOf(data));//to ensure the index is correct even if there are duplicates
}

因为每个循环按顺序访问元素,它会给你迭代次数=(index + 1)

修改 如果您可以删除该元素,则可以确保不会发生重复问题。或者传统的for循环最适合