概述
首先是List集合test2的创建和元素的写入:
List<String> test2 = new ArrayList<>();
test2.add("1");
test2.add("2");
test2.add("3");
注意,要用多态的方式创建List集合。
方法一.Iteator迭代器
代码:
Iterator<String> ite = test.iterator();
while(ite.hasNext())
{
String s = ite.next();
System.out.println(s);
}
(1)首先创建一个迭代器ite,迭代器依附于具体的集合而存在,使用iterator()方法获取:
Iterator<String> ite = test.iterator();
(2).hasNext()方法:检测迭代指针后方是否还有元素
(3).next()方法:获取当前迭代地址后方值
※值得注意的是,使用Iterator进行迭代遍历时不能对集合内的元素做出添加或者删除的修改操作!!!否则会报错“并发修改异常”。与之相反的,ListIterator可以做到这一点,下面介绍。
方法二.ListIterator迭代器
列表迭代器ListIterator功能更加强大:允许延任意方向遍历列表,在迭代器件也允许修改列表,并获取列表中迭代器的当前位置。
代码:
ListIterator<String> listite = test2.listIterator();
while(listite.hasNext()) //正向遍历
{
String s = listite.next();
System.out.println(s);
}
while(listite.hasPrevious()) //反向遍历
{
String s = listite.previous();
System.out.println(s);
}
ListIterator迭代器的方法与Iterator基本一致,重点在add()添加方法在这里被允许了:
//在指定集合元素后面加上一个元素
while(listite.hasNext())
{
String s = listite.next();
if(s.equals("2"))
{
listite.add("114514");
}
}
System.out.println(test2);
如果这里使用Iterator创建的ite进行元素的添加和删除,会报错。其报错原因的追溯需要查看源码,在此处不做深究。
方法三.普通for循环
代码:
for(int i=0; i<=test.size()-1; i++)
{
System.out.println(test.get(i)); //get(i):返回第i号位置的元素
}
(1).size()方法返回集合长度(元素个数)。
(2).get(Index i)方法返回指定第i位置上的元素。
方法四.增强for循环
代码:
for(String s: test2)
{
System.out.println(s);
}
(1)形式:for(遍历的元素的数据类型 变量名i: 遍历集合名) {}
(2)增强for循环内部原理是Iterator,所以在遍历时不能修改内部元素。
最后
以上就是醉熏小鸭子为你收集整理的【Java】四种方法遍历List集合元素(Iterator、ListIterator、普通for、增强for)的全部内容,希望文章能够帮你解决【Java】四种方法遍历List集合元素(Iterator、ListIterator、普通for、增强for)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复