我是靠谱客的博主 高贵小蜜蜂,这篇文章主要介绍java中for循环、增强for循环、迭代器的删除元素操作使用注意(以Arraylist为例),现在分享给大家,希望可以做个参考。

  1. for循环
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("a"); list.add("a"); list.add("a"); list.add("z"); list.add("s"); list.add("a"); //for循环遍历 //注意删除元素后集合长度发生,i一直向后增加 for (int i = 0; i < list.size(); i++) { if (list.get(i)=="a"){ list.remove(i); //i--;//可以对循环进行干涉,达到目的 } } }

结果:
[a, z, s]
加上i++
结果:
[z,s]
2. 增强for循环

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("a"); list.add("a"); list.add("a"); list.add("z"); list.add("s"); list.add("a"); //增强for循环 //不允许遍历时对元素进行操作,如果进行操作会抛出异常ConcurrentModificationException for (Object obj:list) { if (obj.equals("a")){ list.remove(obj); break;//操作一次后必须break结束循环,否则会抛出异常 } } System.out.println(list); }

未加break结果
Exception in thread “main” java.util.ConcurrentModificationException
at java.util.ArrayList I t r . c h e c k F o r C o m o d i f i c a t i o n ( A r r a y L i s t . j a v a : 911 ) a t j a v a . u t i l . A r r a y L i s t Itr.checkForComodification(ArrayList.java:911) at java.util.ArrayList Itr.checkForComodification(ArrayList.java:911)atjava.util.ArrayListItr.next(ArrayList.java:861)
at collection.day3.CunDemo.main(CunDemo.java:26)
加上break结果
[a, a, z, s, a]

  1. 迭代器
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("a"); list.add("a"); list.add("a"); list.add("z"); list.add("s"); list.add("a"); Iterator iterator = list.iterator(); //hasNext() 如果迭代具有更多元素,则返回 true 。 while(iterator.hasNext()){ Object obj = iterator.next();//返回迭代中的下一个元素。 iterator.remove();//Iterator中特有方法remove删除元素,从底层集合中删除此迭代器返回的最后一个元素(可选操作)。 } System.out.println(list);*/ }

结果
[]

最后

以上就是高贵小蜜蜂最近收集整理的关于java中for循环、增强for循环、迭代器的删除元素操作使用注意(以Arraylist为例)的全部内容,更多相关java中for循环、增强for循环、迭代器内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部