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

概述

  1. for循环
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循环

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. 迭代器
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循环、迭代器的删除元素操作使用注意(以Arraylist为例)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部