java Iterator

1:java迭代器的功能却是很强大,在便利List尤其有用,而且在删除list里不连续的相同元素效率也很高,

public class RemoveArrayListEnty {

	public static void main(String[] args) {

		List<String> list = new ArrayList<String>();  
		//"c"在Arraylist有连续存储  
        list.add("a");  
        list.add("c");  
        list.add("c");  
        list.add("b");  
        list.add("c");  
        list.add("c");  
        list.add("d");  
        list.add("c"); 
        removeListElement3(list);
        

	}
	public static void removeListElement3(List<String> list) { 

		Iterator<String> it = list.iterator();
		while(it.hasNext()){
			String str1 = it.next();
			if("c".equals(str1)){
				System.out.println(str1);
			}

		}
		//迭代器,删除list里的元素可以保证其他线程也在修改
        //Iterator<String> iterator = list.iterator();  
        //  while(iterator.hasNext()) {  
         //   String str = iterator.next();  
         //   if("c".equals(str)) {  
         //       iterator.remove();  
         //   }  
         //  }  
    } 

}
时间: 2024-10-08 01:27:02

java Iterator的相关文章

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

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

Java Iterator的一般用法

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

java Iterator Fail-fast机制

Fail-fast:在迭代的过程中发现数据被改变时立即抛出异常,而不是等遍历完了再抛出异常:可以理解为快速感知. 在并发的时候,当线程A正遍历一个Collection或Map,这时另外一个线程B修改Collection或Map,线程A就会抛出一个错:ConcurrentModificationException. 即使是在单线程下运行, java.util.ConcurrentModificationException 异常也将被抛出. 表明:我正读取的内容被修改掉了,你是否需要重新遍历?或是做

学习总结 java Iterator迭代器练习

package com.hanqi.jh; import java.util.*; public class Text3 { public static void main(String[] args) { // TODO 自动生成的方法存根 //创建集合测试类 List<Integer> list=new ArrayList<Integer>(); //添加元素的范围 for(int i=0;i<10;i++) { list.add(i);//增加10个元素 } //输入1

java Iterator 的用法

java.util package has public interface Iterator and contains three methods: boolean hasNext(): It returns true if Iterator has more element to iterate. Object next(): It returns the next element in the collection until the hasNext()method return true

java iterator(迭代器)

任何容器类,都必须有某种方式可以插入元素并将它们再次取出,毕竟持有事物是容器最基本的工作,对于List,add()插入fang,get()取出,如果从更高层的角度思考,会发现这里有个确定:要用容器,必须对容器的确切类型编程,这样如果原本是List编码的,但是后来要应用于Set,那么此时该怎么办,是重写通用代码还是如何 迭代器(也是一种设计模式)的概念可用于达成这个目的,迭代器是一个对象,它的工作是遍历并选择序列中 对象,而客服端程序员不必关心或知道该序列的底层结构,此外迭代器通常被称为轻量级对象

[LeetCode] 284. Peeking Iterator Java

题目: Given an Iterator class interface with methods: next() and hasNext(), design and implement a PeekingIterator that support the peek() operation -- it essentially peek() at the element that will be returned by the next call to next(). Here is an ex