<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_085</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 085 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_085"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_085&amp;action=history"/>
	<updated>2026-05-01T13:19:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_085&amp;diff=4073&amp;oldid=prev</id>
		<title>Onionmixer: GSUG HashedCollection 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_085&amp;diff=4073&amp;oldid=prev"/>
		<updated>2014-01-27T10:38:40Z</updated>

		<summary type="html">&lt;p&gt;GSUG HashedCollection 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;HashedCollection&lt;br /&gt;
&lt;br /&gt;
==HashedCollection==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;네임스페이스 Smalltalk에 정의됨&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;슈퍼클래스: Collection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;범주: 컬렉션-비정렬&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:나는 객체를 특유의 방식으로 보관할 수 있는 해싱된 컬렉션으로서, 컬렉션 내 그 객체들에 대해 빠른 응답을 제공한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection 클래스: 인스턴스 생성===&lt;br /&gt;
&lt;br /&gt;
====new====&lt;br /&gt;
&lt;br /&gt;
기본크기로 된 수신자의 새 인스턴스를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====new: anInteger====&lt;br /&gt;
&lt;br /&gt;
주어진 용량(capacity)으로 된 수신자의 새 인스턴스를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====withAll: aCollection====&lt;br /&gt;
&lt;br /&gt;
요소들이 aCollection에 위치한 컬렉션을 응답하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 접근하기===&lt;br /&gt;
&lt;br /&gt;
====add: newObject====&lt;br /&gt;
&lt;br /&gt;
newObject를 집합으로 추가하되 집합이 그것의 발생을 이미 포함하지 않을 경우에만 추가해야 한다. 중복이 발견될 경우 실패하지 말라. anObject를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====at: index====&lt;br /&gt;
&lt;br /&gt;
이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.&lt;br /&gt;
&lt;br /&gt;
====at: index put: value====&lt;br /&gt;
&lt;br /&gt;
이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: builtins===&lt;br /&gt;
&lt;br /&gt;
====primAt: anIndex====&lt;br /&gt;
&lt;br /&gt;
Private - 수신자에 대한 해시 테이블의 anIndex번째 항목을 응답하라. basicAt: 대신 이를 이용하면 표현을 더 쉽게 변경할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====primAt: anIndex put: value====&lt;br /&gt;
&lt;br /&gt;
Private - 수신자에 대한 해시 테이블의 anIndex번째 항목에 값을 보관하라. basicAt:put: 대신 이를 이용하면 표현을 더 쉽게 변경할 수 있다.&lt;br /&gt;
&lt;br /&gt;
====primSize====&lt;br /&gt;
&lt;br /&gt;
Private - 수신자에 대한 해시 테이블의 크기를 응답하라. basicSize 대신 이를 이용하면 표현을 더 쉽게 변경할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 복사하기===&lt;br /&gt;
&lt;br /&gt;
====deepCopy====&lt;br /&gt;
&lt;br /&gt;
수신자의 깊은 복사를 리턴한다 (인스턴스 변수는 수신자의 인스턴스 변수에 대한 복사본이다)&lt;br /&gt;
&lt;br /&gt;
====shallowCopy====&lt;br /&gt;
&lt;br /&gt;
수신자의 얕은 복사를 리턴한다 (인스턴스 변수가 복사되지 않는다)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 컬렉션의 요소 열거하기===&lt;br /&gt;
&lt;br /&gt;
====do: aBlock====&lt;br /&gt;
&lt;br /&gt;
집합의 nil이 아닌 멤버를 열거하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 재해싱하기===&lt;br /&gt;
&lt;br /&gt;
====rehash====&lt;br /&gt;
&lt;br /&gt;
수신자를 재해싱하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 제거하기===&lt;br /&gt;
&lt;br /&gt;
====remove: oldObject ifAbsent: anExceptionBlock====&lt;br /&gt;
&lt;br /&gt;
집합에서 oldObject를 제거하라. 발견될 경우 oldObject를 응답하고, 그 외의 경우 anExceptionBlock을 평가하여 그 값을 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 저장하기와 로딩하기===&lt;br /&gt;
&lt;br /&gt;
====postLoad====&lt;br /&gt;
&lt;br /&gt;
객체 로딩 이후 호출된다; 정체성 객체(identity object)는 그들의 해시를 변형할 가능성이 매우 높으므로 컬렉션을 재해싱하라.&lt;br /&gt;
&lt;br /&gt;
====postStore====&lt;br /&gt;
&lt;br /&gt;
객체를 덤프한 이후에 호출된다. 아무 일도 하지 않는다 - 기본적으로 이는 #postLoad를 기본값으로 호출하기 때문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 보관하기===&lt;br /&gt;
&lt;br /&gt;
====storeOn: aStream====&lt;br /&gt;
&lt;br /&gt;
수신자로 컴파일하는 일부 스몰토크 코드를 aStream 상에 보관하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HashedCollection: 컬렉션 검사하기===&lt;br /&gt;
&lt;br /&gt;
==== = aHashedCollection====&lt;br /&gt;
&lt;br /&gt;
두 집합이 같은 멤버십을 갖는 경우 true를, 그렇지 않은 경우 false를 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====capacity====&lt;br /&gt;
&lt;br /&gt;
수신자가 증가하기 이전에 얼마나 많은 요소를 보유할 수 있는지 응답하라.&lt;br /&gt;
&lt;br /&gt;
====hash====&lt;br /&gt;
&lt;br /&gt;
집합의 멤버에 대한 해시 코드를 리턴하라. 순서는 중요하지 않으므로 가환연산자를 사용해 해시값을 계산한다.&lt;br /&gt;
&lt;br /&gt;
====includes: anObject====&lt;br /&gt;
&lt;br /&gt;
수신자가 anObject의 인스턴스를 포함하는지 응답하라.&lt;br /&gt;
&lt;br /&gt;
====isEmpty====&lt;br /&gt;
&lt;br /&gt;
수신자가 비었는지 응답하라.&lt;br /&gt;
&lt;br /&gt;
====occurrencesOf: anObject====&lt;br /&gt;
&lt;br /&gt;
anObject의 발생횟수를 리턴하라. 우리는 집합이므로 0 또는 1이 되겠다. Nil은 절대 집합 안에 직접적으로 존재하지 않으므로 특수 케이싱(special case)한다 (결과는 항상 1이다).&lt;br /&gt;
&lt;br /&gt;
====size====&lt;br /&gt;
&lt;br /&gt;
수신자의 크기를 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GnuSmalltalkUsersGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>