我是靠谱客的博主 醉熏小鸭子,这篇文章主要介绍【Java】四种方法遍历List集合元素(Iterator、ListIterator、普通for、增强for),现在分享给大家,希望可以做个参考。

首先是List集合test2的创建和元素的写入:

复制代码
1
2
3
4
5
List<String> test2 = new ArrayList<>(); test2.add("1"); test2.add("2"); test2.add("3");

注意,要用多态的方式创建List集合。


方法一.Iteator迭代器

代码:

复制代码
1
2
3
4
5
6
7
Iterator<String> ite = test.iterator(); while(ite.hasNext()) { String s = ite.next(); System.out.println(s); }

(1)首先创建一个迭代器ite,迭代器依附于具体的集合而存在,使用iterator()方法获取:

复制代码
1
2
Iterator<String> ite = test.iterator();

(2).hasNext()方法:检测迭代指针后方是否还有元素
(3).next()方法:获取当前迭代地址后方值

※值得注意的是,使用Iterator进行迭代遍历时不能对集合内的元素做出添加或者删除的修改操作!!!否则会报错“并发修改异常”。与之相反的,ListIterator可以做到这一点,下面介绍。


方法二.ListIterator迭代器

列表迭代器ListIterator功能更加强大:允许延任意方向遍历列表,在迭代器件也允许修改列表,并获取列表中迭代器的当前位置。
代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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()添加方法在这里被允许了:

复制代码
1
2
3
4
5
6
7
8
9
10
11
//在指定集合元素后面加上一个元素 while(listite.hasNext()) { String s = listite.next(); if(s.equals("2")) { listite.add("114514"); } } System.out.println(test2);

如果这里使用Iterator创建的ite进行元素的添加和删除,会报错。其报错原因的追溯需要查看源码,在此处不做深究。


方法三.普通for循环

代码:

复制代码
1
2
3
4
5
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循环

代码:

复制代码
1
2
3
4
5
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)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部