Java Iterator的remove方法

  public static void tt(){
    List<String> list = new ArrayList<String>();
    list.add( "0" );
    list.add( "1" );
    list.add( "2" );
    list.add( "3" );
    list.add( "4" );
    list.add( "5" );
    list.add( "6" );
    list.add( "7" );
    list.add( "8" );
    list.add( "9" );
    list.add( "10" );
    list.add( "11" );
    list.add( "12" );
    list.add( "13" );
    list.add( "14" );
    list.add( "15" );
    list.add( "16" );
    list.add( "17" );
    list.add( "18" );
    list.add( "19" );
    list.add( "20" );

    int i = 0;
    Iterator<String> it = list.iterator();
    while ( it.hasNext() ) {
        String str = it.next();

        if ( i % 2 == 0 ) {
            System.out.println( i + "===" + str );
            it.remove();
        }
        i++;
    }

    for ( String str : list ) {
        System.out.println( str );
    }

}

Java Iterator的remove方法

时间: 2024-10-12 09:08:48

Java Iterator的remove方法的相关文章

Iterator的remove方法可保证从源集合中安全地删除对象(转)

import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class IteratorTest{ public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("Test1"); list.add("Test2&qu

如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)

遍历删除List中符合条件的元素主要有以下几种方法: 普通for循环 增强for循环 foreach 迭代器iterator removeIf 和 方法引用 (一行代码搞定) 其中使用普通for循环容易造成遗漏元素的问题,增强for循环foreach会报java.util.ConcurrentModificationException并发修改异常. 所以推荐使用迭代器iterator,或者JDK1.8以上使用lambda表达式进行List的遍历删除元素操作. 以下是上述几种方法的具体分析: 1.

Java连载85-集合的Contains和Remove方法

一.包含与删除两种方法解析 1.boolean contains(Object o);判断集合中是否包含某个元素. package com.bjpowernode.java_learning; import java.util.*; ? public class D85_1_ContainsMethod { public static void main(String[] args) { //创建集合 Collection c = new ArrayList(); //创建两个Integer类型

为什么Java里的Arrays.asList不能用add和remove方法?

在平时的开发过程中,我们知道可以将一个Array的对象转化为List.这样的操作,我们只要采用Arrays.asList这个方法就行了.笔者前段时间一直用这个方法,有一天,我发现通过Arrays.asList得到的List无法进行add和remove等操作. 下面是一段很简单的测试代码: public class MainFacade { public static void main(String[] args) { List<Integer> list = Arrays.asList(1,

Java Iterator和增强for循环 for each详解

Iterator是Java中的一个迭代器接口(Interface),用来提供标准的Java迭代器 Iterator支持泛型因为集合(Collection)类可以装入的类型是不确定的,从集合中取出的都是Object类型,加入泛型,就是告诉编译器确定要装入的对象类型,取值时就无需强制转换了. for each 是 Java 5 中新增的一个循环结构,本质上是一个Iterator,特点是可以用来遍历集合元素而不用考虑集合下标. 综合实例: package net.csdn.shf4715; impor

java Iterator Iterable Collection AbstractCollection Map关系

java.lang Interface Iterable<T>  实现该接口就可以使用for-each循环. java.util Interface Iterator<E>  用于遍历Collection,有hasNext(),next(),remove()方法. java.util Interface Collection<E>  整个Collection体系中的根接口,父类接口是Iterable.可以生成Iterator. java.util Interface M

探讨迭代器中为什么不能通过集合的方式删元素而是使用迭代器中的remove()方法经行删除

由该链接引发的思考:http://bbs.itheima.com/forum.php?mod=viewthread&tid=26270&mobile=1 看到这篇文章后,一副似懂非懂的样子,果断将楼主的代码拷贝到eclipse中运行了下,果断发现了些问题. 经过测试,发现总是在当集合中倒数第二个满足条件时程序才可以正常运行,否则,就会抛出ConcurrentModificationException异常 然后,我在while{it.hasNext()){和String str = (Str

collection中的remove方法

import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class CollectionTest03 { /** boolean remove(Object o); remove和contains方法都需要集合中的元素重写equals方法. 因为Object中的equals方法比较内存地址,在现实的业务逻辑当中 不能比较内存地址,该比较内容. */ public stat

Java Iterator的一般用法

Iterator(迭代器) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元素.注意:iterator()方法是java.lang.Iterable接口,被Collection继承. (2)