Java集合-Iterator

【聲明】本文參考自極客學院視頻
1、集合輸出的標準操作:
標準做法,使用 Iterator接口
2、操作原理:
Iterator是專門的迭代輸出接口,迭代輸出就是將元素一個個進行判斷,判斷是否有內容,如果有內容則把內容取出
在這裏插入圖片描述
其實是一個單向輸出的方式。

3、方法摘要:
boolean hasNext()
Returns true if the iteration has more elements.

E next()
Returns the next element in the iteration.

default void remove()
Removes from the underlying collection the last element returned by this iterator (optional operation).

package test01;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class test1 {
   public static void main(String[] args) {
	   List<String> lists=new ArrayList<String>();
	   lists.add("A");
	   lists.add("B");
	   lists.add("C");
	   lists.add("D");
	   lists.add("E");
	   lists.add("F");
	   Iterator<String> iter=lists.iterator();
	   while (iter.hasNext()) {
		System.out.println(iter.next());
		
	}
   }
}
package test01;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class test1 {
	public static void main(String[] args) {
		List<String> lists = new ArrayList<String>();
		lists.add("A");
		lists.add("B");
		lists.add("C");
		lists.add("D");
		lists.add("E");
		lists.add("F");
		Iterator<String> iter = lists.iterator();
		while (iter.hasNext()) {
			String str = iter.next();
			if ("A".equals(str)) {
				iter.remove();
			} else {
				System.out.println(str);
			}

		}
	}
}

Iterator的remove()和list、set等的remove()不同,在Iterator迭代輸出時不可以用容器的remove(),否則會發生如下異常:
Exception in thread “main” java.util.ConcurrentModificationException

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章