这里如果用foreach和Iterator改怎么获取序号呢?就像第一种遍历输出结果
来源:2-4 编程练习
慕慕0275948
2021-01-31 20:38:06
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ArrayListDemo {
public static void main(String[] args) {
// 用ArrayList存储学科的名称
List<String> subjectlist = new ArrayList<String>();
subjectlist.add("语文");
subjectlist.add("数学");
subjectlist.add("英语");
subjectlist.add("化学");
subjectlist.add("物理");
subjectlist.add("生物");
// 输出列表中元素的个数
int num = subjectlist.size();
System.out.println("列表中元素的个数为:" + num);
// 遍历输出所有列表元素
for (int i = 0; i < num; i++) {
// 打印列表内容
System.out.println("第" + (i + 1) + "个为" + subjectlist.get(i));
}
/* 第二种遍历方式 */
System.out.println("foreach的遍历方式:");
for (String list : subjectlist) {
System.out.println(list);
}
System.out.println();
/* 第三种遍历方式 */
System.out.print("Iterator的遍历方式:");
for (Iterator<String> list = subjectlist.iterator(); list.hasNext();) {
System.out.println(list.next());
}
}
}
1回答
好帮手慕小脸
2021-02-01
同学你好,
1、代码完成的不错,棒棒的~
2、可以使用indexOf(Object obj)方法,从序列(List)的第0个元素开始依次循环,修改代码如下所示:
// 第二种遍历方式
System.out.println("foreach的遍历方式:");
for (String list : subjectlist) {
System.out.println("第"+(subjectlist.indexOf(list)+1)+"个为"+list);
}
迭代器这里需要定义变量,如下代码:
System.out.print("Iterator的遍历方式:");
int count=1;
for (Iterator<String> list = subjectlist.iterator(); list.hasNext();) {
System.out.println("第"+(count++)+"个为"+list.next());
}祝学习愉快~
相似问题