1. 기본 구조

2. 기타 특징

출처 : https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html

출처 : https://118k.tistory.com/656

Fail-Fast 방식은 동작중 오류가 발생하면 바로 오류를 알리고, 작업을 중단합니다.

Fail-Safe 방식은 동작중 오류가 발생하도 작업을 중단하지 않고 진행합니다.

import java.util.ArrayList;
import java.util.Arrays; 
import java.util.Iterator; 
import java.util.concurrent.ConcurrentHashMap; 

public class IteratorFailFastAndFailSafe {

	public static void funcFailFast() { 

		ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); 
		Iterator<Integer> iterator = numbers.iterator(); 
	
		while (iterator.hasNext()) { 
			Integer number = iterator.next(); 
			numbers.add(50); 
			System.out.println(number); 
		} 
	} 

	public static void funcFailSafe() { 

		ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>(); 

		map.put("First", 10); 
		map.put("Second", 20); 
		map.put("Third", 30); 
		map.put("Fourth", 40); 
		Iterator<String> iterator = map.keySet().iterator(); 

		while (iterator.hasNext()) { 
			String key = iterator.next(); 
			map.put(key, 50); 
		} 
	} 
	
	public static void main(String[] args) { 
		funcFailFast(); 
		funcFailSafe(); 
	} 
}

3. 주요 메서드

https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html 의 Method Summary 참고.

4. ArrayList와 비교

출처 : https://footcode.tistory.com/5

출처 : https://footcode.tistory.com/5