<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://valley.egloos.com/rss/style/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>이글루스 'iterator' 태그 최근글</title>
		<link>http://valley.egloos.com/tag/iterator</link>
		<description>iterator</description>
		<language>ko</language>
		<pubDate>Sun, 05 Feb 2012 17:02:42 +0900</pubDate>
		<generator>Egloos</generator>
		<item>
	<title><![CDATA[Iterator Pattern( 이터레이터 패턴 )]]></title>
	<link>http://liepooh.egloos.com/1101291</link>
	<guid>http://liepooh.egloos.com/1101291</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds22.egloos.com/pds/201202/05/72/c0116772_4f2e2d5ab666f.jpg"  
				alt="Iterator Pattern( 이터레이터 패턴 )" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> [ Iterator Pattern( 이터레이터 패턴 ) 정의 ] 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근 할 수 있게 해주는 방법을 제공해 준다.  [ 클래스 다이어그램 ]  [ 시나리오 ] 팬케이크하우스와 마을식당이 합병하기로 했다. 이제 웨이트리스는 방문한 고객한테 모든 메뉴를 출력해서 보여줘야 한다. 그런데 팬케이크하우스 메뉴는 std::vector에 저정했고, 마을식당은 메뉴는 배열에 저장해서 사용하고 있다. 어떻게 하면 기존의 코드는 변경하지 않고, 서로 다른 저장구조를 가지고 있는 두 메뉴를 출력하여 고객한테 보여줄 수 있을까?  [ 디자인원칙 ] 클래스를 바꾸는 이유는 한 가지 뿐이어야 한다. 만약 클래스 내부에서 반복자용 메소드 관련기능을 전부 구현하	]]>
	</description>
	<pubDate>Sun, 05 Feb 2012 17:02:42 +0900</pubDate>
	<dc:creator><![CDATA[라이푸]]></dc:creator>
</item>
<item>
	<title><![CDATA[[C++] iterator(반복자)]]></title>
	<link>http://Ashley777.egloos.com/913685</link>
	<guid>http://Ashley777.egloos.com/913685</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds18.egloos.com/pds/201009/25/65/b0107065_4c9ce70491c1f.gif"  
				alt="[C++] iterator(반복자)" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/>  카페 &amp;gt; C언어를 배우자 | 라온     An iterator is an object that can &quot;iterate&quot; (navigate) over elements. - The C++ Standrad Library Iterator는 컨테이너의 원소들을 순회(돌아다니다^^)할 수 있는 객체입니다.반복자는 컨테이너의 특정 위치를 가리킵니다. 반복자는 Pointer와 같이 연산자를 사용할 수 있는데 pointer와 비슷합니다. 연산자 오버로드 되어있는것이죠. operator *   : 현재 가리키고 있는 위치 값operator ++ : 다음 원소 operator -- : 이전 원소 operator != , == : 두 반복자가 같은 위치를 가리키고 있는지operator = : 반복자를 할당합니다. 가만히 	]]>
	</description>
	<pubDate>Sat, 25 Sep 2010 02:39:30 +0900</pubDate>
	<dc:creator><![CDATA[ashley777]]></dc:creator>
</item>
<item>
	<title><![CDATA[Iterator pattern]]></title>
	<link>http://sdop.egloos.com/3590679</link>
	<guid>http://sdop.egloos.com/3590679</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds17.egloos.com/pds/201002/16/27/d0052727_4b79febae307e.png"  
				alt="Iterator pattern" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> 간단하게, iterator pattern을 정리해봅시다.   Iterator 패턴의 등장인물  Iterator(반복자)의 역할요소를 순서대로 검색해가는 인터페이스(API)를 결정한다. 예제 프로그램에서는 Iterator 인터페이스가 그 역할을 하고, 다음 요소가 존재하는지를 얻기 위한 hasNext 메소드와 다음 요소를 얻기 위한 next 메소드를 결정한다.  Concrete Iterator(구체적인 반복자)의 역할Iterator가 결정한 인터페이스(API)를 실제로 구현한다. 예제 프로그램에서는 BookShelfIterator 클래스가 이 역할을 하였다. 이 역할은 검색하기 위해 필요한 정보를 가지고 있어야 한다. BookShelf 클래스의 인스턴스는 bookShelf 필드에서, 처리되고 있는 책은 ind	]]>
	</description>
	<pubDate>Tue, 16 Feb 2010 11:12:52 +0900</pubDate>
	<dc:creator><![CDATA[벚꽃이 만개했고, 그날은 비가 내렸고]]></dc:creator>
</item>
<item>
	<title><![CDATA[C++ :: STL :: const_iterator]]></title>
	<link>http://myou11.egloos.com/5192009</link>
	<guid>http://myou11.egloos.com/5192009</guid>
	<description>
	<![CDATA[ 
[Test.cpp]    1 #include &amp;lt;vector&amp;gt;  2 #include &amp;lt;iostream&amp;gt;  3  4 using namespace std;  5  6 int  7 main() {  8     vector&amp;lt;int&amp;gt; v;  9 10     v.push_back(3); 11     v.push_back(4); 12 13     vector&amp;lt;int&amp;gt;::const_iterator ci = v.begin(); 14 15     cout &amp;lt;&amp;lt; &quot;*ci++ = &quot; &amp;lt;&amp;lt; *ci++ &amp;lt;&amp;lt; endl; 16     cout &amp;lt;&amp;lt; &quot;*ci++ = &quot; &amp;lt;&amp;lt; *ci++ &amp;lt;&amp;lt; endl; 17 18     // error	]]>
	</description>
	<pubDate>Fri, 05 Feb 2010 01:31:55 +0900</pubDate>
	<dc:creator><![CDATA[do { Jazz jzz = JazzFactory.newInstance(feel); jzz.play(); } while(true);]]></dc:creator>
</item>
<item>
	<title><![CDATA[[p202-5]이중 연결 원형 리스트]]></title>
	<link>http://penguinsw.egloos.com/2665041</link>
	<guid>http://penguinsw.egloos.com/2665041</guid>
	<description>
	<![CDATA[ 
 헤더 노드를 가진 이중 연결 원형 리스트에 대한 C++ 템플릿 클래스를 구현하라.        #include&amp;lt;iostream&amp;gt;  using std::cout;  using std::endl;    template&amp;lt;class T&amp;gt;  class DblList;    template&amp;lt;class T&amp;gt;  class DblListNode {  	friend class DblList&amp;lt;T&amp;gt;;  public:  	DblListNode(T element=NULL, DblListNode&amp;lt;T&amp;gt; *lNode=NULL, DblListNode&amp;lt;T&amp;gt; *rNode=NULL)  		: data(element), left(lNode), right(rNode)  	{}  	vo	]]>
	</description>
	<pubDate>Sat, 18 Jul 2009 01:28:23 +0900</pubDate>
	<dc:creator><![CDATA[공부합시다]]></dc:creator>
</item>
<item>
	<title><![CDATA[[Java] Fail Fast Iterator]]></title>
	<link>http://entireboy.egloos.com/4024389</link>
	<guid>http://entireboy.egloos.com/4024389</guid>
	<description>
	<![CDATA[ 
Fail-fast는 어떠한 시스템이나 모듈에 잘못됐거나 문제가 생길 것 같을 때 바로 알려주는 특성을 나타낸다. 이는 언제 잘못될지 모르는 상태를 가지고 시스템을 계속 동작시키는 것 보다 평범하게 멈추는 것이 낫다는 생각에 기반한 것이다. 소프트웨어 공학에서 Iterator와 함께 사용된다. Fail Fast Iterator라고 하여 Iterator가 도는(?) 동안 Iterator가 변경되거나 하면 오류를 발생하도록 하는 것이다. (from Wikipedia)    Java의 Iterator도 유사한 점이 있다. Iterator가 도는 동안 원래 목록이 변경되면 java.util.ConcurrentModificationException을 발생시킨다. 아래의 코드를 보자. 반지의 제왕 1편에서 보로미르가 죽	]]>
	</description>
	<pubDate>Mon, 29 Dec 2008 02:15:19 +0900</pubDate>
	<dc:creator><![CDATA[Sigel's house made of ice 。。。]]></dc:creator>
</item>
<item>
	<title><![CDATA[Enumeration VS Iterator ]]></title>
	<link>http://darkmirr.egloos.com/1227598</link>
	<guid>http://darkmirr.egloos.com/1227598</guid>
	<description>
	<![CDATA[ 
콜렉션 프레임워크의 클래스들은 객체를 저장하고 정리하기 위해 사용된다.  콜렉션 클래스들 내에 저장된 객체들을 차례로 접근하기 위한 방법을 콜렉션 뷰라고 한다.  자바 2 이전 버전에서 사용되던 Vector, Hashtable의 뷰 객체는 Enumeration 객체이며,  자바 2의 콜렉션 프레임워크에서 콜렉션 뷰는 Iterator와 ListIterator 객체이다.   Vector 클래스의 객체인 v 객체의 모든 요소(저장된 객체)들을 Enumeration 뷰를 이용하여 프린트하려면 다음과 같다.  for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {     System.out.println(e.nextElement()); } 같은 Vector 클래스	]]>
	</description>
	<pubDate>Mon, 15 Dec 2008 12:32:37 +0900</pubDate>
	<dc:creator><![CDATA[darkmirr님의 이글루]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바 Iterator 패턴.]]></title>
	<link>http://maydaisy.egloos.com/848313</link>
	<guid>http://maydaisy.egloos.com/848313</guid>
	<description>
	<![CDATA[ 
이번 글은 자바의 패턴 중 가장 간단하면서 흔히 사용되는 패턴이 바로 Iterator 패턴이라고 한다.  그래서 검색을 해본 결과. Iterator 는 디자인 패턴에서 가장 간단하고 가장 빈번하게 사용되는 패턴들 중의 하나이다...생략. 이렇게 위와 같이 소개 하고 있다.  디자인 패턴이라.. 프로그래밍 역시 어떠한 구조를 디자인 하는 것이니까 디자인 패턴이라는 말이 적절한 듯 하다.  그럼 2시간의 고뇌로도 풀리지 않았던 Iterator 패턴에 대해서 알아보자. (시키는 것만 하는 바보처럼 기본만 공부하라는 말을 그대로 따른 자의 최후는 암담했다.  앞으론 그러지 말도록~ 직장에서 그러면 짤린다..)  1. Iterator 인터페이스  - boolean형을 반환하는 hsaNext() 추상메소드를 갖고 있다	]]>
	</description>
	<pubDate>Fri, 19 Sep 2008 21:17:06 +0900</pubDate>
	<dc:creator><![CDATA[만성피로님의 이글루]]></dc:creator>
</item>
<item>
	<title><![CDATA[list::insert, list::erase]]></title>
	<link>http://purewell.egloos.com/3560419</link>
	<guid>http://purewell.egloos.com/3560419</guid>
	<description>
	<![CDATA[ 
STL가 제공하는 list에 insert, erase는 각각 iterator를 반환한다. (형태에 따라 반환하지 않는 것도 있으니 주의)  iterator insert(iterator pos, const T&amp;amp; x) : pos 앞쪽에 x를 넣고, x에 대한 iterator를 반환한다.iterator erase(iterator pos) : pos에 해당하는 아이템을 삭제하고, pos 다음 iterator를 반환한다.예)  #include &amp;lt;iostream&amp;gt;  #include &amp;lt;list&amp;gt;  #include &amp;lt;set&amp;gt;  #include &amp;lt;algorithm&amp;gt;  using namespace std;    typedef list&amp;lt;int&amp;gt; list_int;  t	]]>
	</description>
	<pubDate>Thu, 03 Jan 2008 11:48:21 +0900</pubDate>
	<dc:creator><![CDATA[Purewell.BIZ]]></dc:creator>
</item>
<item>
	<title><![CDATA[Iterator와 enumerator 비교]]></title>
	<link>http://mjung.egloos.com/971542</link>
	<guid>http://mjung.egloos.com/971542</guid>
	<description>
	<![CDATA[ 
Iterator, Enumeration은 둘다 모두 자바에서 제공하는 컬렉션에 대해 각 컬렉션의 항목들을 순차적으로 접근하는데 사용한다.  차이점은 Enumeration의 경우 자바의 초기버젼에서 개발되었습니다. 자바는 jdk1.2, 즉 자바2에서 많은 변화가 생겼는데, 그중에 하나가 컬렉션 클래스(Vector, List, Map, Set...)들을 컬렉션프레임웍 이라는것으로 관리하는것이다.  이때, 컬렉션프레임웍에서는 Iterator라고 해서, Enumeration의 기능을 확장해서, Collection인터페이스를 상속받은 모든 컬렉션(List, Set, Vector.)에서 Enumeration을 사용가능하게 하였다.  정리하면, Enumeration는 자바초기버젼에서 제공되는것으로 Hashtable, V	]]>
	</description>
	<pubDate>Thu, 08 Nov 2007 17:35:12 +0900</pubDate>
	<dc:creator><![CDATA[내꺼]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바 디자인 패턴 1 - Iterator]]></title>
	<link>http://iilii.egloos.com/3788564</link>
	<guid>http://iilii.egloos.com/3788564</guid>
	<description>
	<![CDATA[ 
1. iterator 패턴은..  프로그래밍을 하다 보면, array나 List, Set, Map과 같은 애들을 많이 씁니다. 얘네들의 특징은 어떤 데이터들의 집합체라는 겁니다. 원래 집합체란 게 속에 뭐가 들었냐가 중요하죠. 그래서 집합체들을 다룰 때는 얘들이 가지고 있는 개별 원소에 대해서 이런 저런 작업들을 할 일이 많습니다.  iterator를 쓰게 되면, 집합체와 개별 원소들간에 분리시켜 생각할 수가 있습니다. 심지어는 그 집합체가 어떤 클래스의 인스턴스인지 조차 신경쓰지 않아도 됩니다.  2. 예제  package c01_iterator;import java.util.ArrayList; import java.util.Iterator; import java.util.List;public class 	]]>
	</description>
	<pubDate>Wed, 19 Sep 2007 12:41:52 +0900</pubDate>
	<dc:creator><![CDATA[건실성실착실 3실 청년!]]></dc:creator>
</item>
<item>
	<title><![CDATA[반복기 ( Iterator ) ]]></title>
	<link>http://tit99hds.egloos.com/552395</link>
	<guid>http://tit99hds.egloos.com/552395</guid>
	<description>
	<![CDATA[ 
 1.의미  Foreach 문으로 컬렉션 형식의 개체를 순환할 수 있도록 하려면 IEnumerable과 IEnumerator 인터페이스를 컬렉션에서 구현해야 한다.  .NET Framework에서 제공하는 컬렉션들을 foreach 문에서 사용할 수 있는 이유는 모든 컬렉션이 IEnumerable과 IEnumerator 인터페이스를 구현하기 때문이다.  하지만 IEnumerable과 IEnumerator 인터페이스를 구현하는 과정은 복잡한 편이다.  더 쉽고 명료하게 IEnumerable과 IEnumerator 인터페이스를 구현하는 방법으로 c#2.0에서 반복기(Iterator)가 새로 소개되었다.  반복기란 “foreach 문에서 사용할 수 있는 연속된 요소들을 반환하는 방법” 으로 정의할 수 있다.   2	]]>
	</description>
	<pubDate>Fri, 17 Aug 2007 16:34:04 +0900</pubDate>
	<dc:creator><![CDATA[허둥사마]]></dc:creator>
</item>
<item>
	<title><![CDATA[java의 List와 반복문(loop), 그리고 변수 선언 위치에 대해서]]></title>
	<link>http://benelog.egloos.com/1382604</link>
	<guid>http://benelog.egloos.com/1382604</guid>
	<description>
	<![CDATA[ 
 수정이력2007/08/13  1. '들어가며', '마치며' 대폭 수정 2. 오타 수정  : 여러개의 메소드에서 같이 써는 코드였었습니다.==&amp;gt; 여러개의 메소드에서 같이 쓰는 코드였었습니다.  2007/08/09첫 단락 소제목 변경 ( &quot;ArrayList나 Vector에는 iterator가 성능이 더 안 좋다.&quot;에서 )   2007/08/08소제목을 h3태그로 iterator를 쓸때 고려할 점 설명에 내용 보강 반복될 필요가 없는 코드의 예 설명에서 오타수정, 문장 다듬기 바이트 코드설명 부분의 한 문장 추가, 문장 다듬기  들어가며 저는 요즘 유지보수 프로젝트에서 일하고 있습니다. 많은 시간을 코드를 다듬는데 쓰고 있고  다른 개발자들의 코드를 많이 볼 수 있는 기회가 되고 있습니다.  그러다 보니 	]]>
	</description>
	<pubDate>Fri, 03 Aug 2007 18:11:25 +0900</pubDate>
	<dc:creator><![CDATA[개발을 통한 자기수양 - benelog]]></dc:creator>
</item>
	</channel>
</rss>

