java集合的三大遍历方式

来源:互联网 发布:silverlight5 for mac 编辑:程序博客网 时间:2024/06/05 20:39

1,用简单for循环遍历

但特别注意:在遍历的时候删除某个元素时,i--的作用是将游标拉回来
        ArrayList<String> list = new ArrayList<>();        list.add("H");        list.add("e");        list.add("l");        list.add("l");        list.add("o");        for (int i = 0; i < list.size(); i++) {            if ("l".equals(list.get(i))) {//              list.remove(i);//此处删除需要特别注意,需要i--                list.remove(i--);            }           }        System.out.println(list);    }

2,使用迭代器 Iterator

推荐使用

ArrayList<String> list = new ArrayList<>();        list.add("H");        list.add("e");        list.add("l");        list.add("l");        list.add("o");        Iterator<String> it = list.iterator();        while(it.hasNext()){            if ("l".equals(it.next())) {    //          list.remove(it.next());//其实这里会抛异常的.                it.remove();//此处用it.remove();            }        }        System.out.println(list);

3,使用增强型for语句(其实底层也是迭代器)

  • 这语句只能用于遍历集合的.遍历过程中删除或者添加会报ConcurrentModificationException异常.
        ArrayList<String> list = new ArrayList<>();        list.add("H");        list.add("e");        list.add("l");        list.add("l");        list.add("o");        for (String str : list) {//          if("l".equals(str))//          list.remove(str);            System.out.println(str);        }        System.out.println(list);
0 0
原创粉丝点击