컴퓨터 공학 & 통신

[개념 정리/디자인 패턴] 행동 패턴 - 이터레이터 패턴

왈왈디 2023. 7. 4. 11:45
728x90

이터레이터 패턴(Iterator pattern)

이터레이터 패턴이터레이터(반복자)를 사용하여

배열, 조합, 맵 등의 컨테이너의 요소들에 접근하는 패턴이다.

(*컨테이너: 동질적인 요소들을 담아놓은 집합)

 

각기 다른 자료 구조들을 똑같은 인터페이스순회를 쉽게 할 수 있다는 장점이 있다.

예를 들어, 자바스크립트의 for of 가 이터레이터 패턴이다.

 

예시

아래는 자바스크립트 코드 예시이다.

const map = new Map();

map.set('a', 1);
map.set('b', 2);
map.set('c', 3);

const set = new Set();

set.add(1);
set.add(2);
set.add(3);

const arr = [];
for(let i = 0; i < 5; i ++) arr.push(i);

for(let e of arr) console.log("arr", e);
for(let e of map) console.log("map", e);
for(let e of set) console.log("set", e);

/*
'arr' 0
'arr' 1
'map' [ 'a', 1 ]
'arr' 2
'set' 1
'arr' 3
'arr' 4
'map' [ 'b', 2 ]
'map' [ 'c', 3 ]
'set' 2
'set' 3
*/

 

참고: inflearn 강의 'CS 지식의 정석 - 큰돌'

728x90