[JAVA] 자바의 Iterable과 Iterator
·
자바
프로그래밍에서 데이터를 담는 그릇이 리스트(List)나 연결 리스트(LinkedList) 같은 자료구조라면, 그 안에 담긴 데이터를 하나씩 꺼내는 방법, 즉 순회(Iteration) 는 필수적인 기능이다. 그런데 자료구조마다 내부 구조가 다르기 때문에, 순회 방식도 달라질 수밖에 없다. 예를 들어, ArrayList는 인덱스를 기반으로 빠르게 접근할 수 있지만, LinkedList는 노드를 하나씩 따라가야 한다. 자바는 이런 구조 차이를 개발자가 직접 고려하지 않고도 일관된 방식으로 순회할 수 있도록 Iterable과 Iterator라는 표준 인터페이스를 제공한다. 1. Iterable과 Iterator는 왜 필요한가?자바는 모든 컬렉션 객체가 공통된 방식으로 순회되기를 원했다. 그래서 List, Se..