GnuSmalltalkUsersGuide:BaseChapter 101

From 흡혈양파의 번역工房
Revision as of 15:06, 27 January 2014 by Onionmixer (talk | contribs) (GSUG LinkedList 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
LinkedList

LinkedList

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: SequenceableCollection

범주: 컬렉션-순차가능


나는 연결 리스트로 접근 및 조작하는 메서드를 제공한다. 나는 연결 리스트의 요소들을 Link의 서브클래스로 가정하는데, 그 이유는 메서드를 구현하기 위해 Link 클래스가 제공하는 메서드를 사용하기 때문이다.


LinkedList: 접근하기

at: index

색인에 해당하는 요소를 연결 리스트로 리턴하라.

at: index put: object

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.


LinkedList: 추가하기

add: aLink

리스트 끝에 aLink를 추가하라; aLink를 리턴하라.

addFirst: aLink

리스트 앞에 aLink 를 추가하라; aLink를 리턴하라.

addLast: aLink

리스트 끝에 aLink를 추가하라; aLink를 리턴하라.

remove: aLink ifAbsent: aBlock

리스트에서 aLink를 제거한 후 리턴하고, 리스트에서 찾을 수 없는 경우 aBlock을 호출하라.

removeFirst

리스트에서 첫 번째 요소를 제거한 후 리턴하고, 리스트가 빈 경우 오류를 응답하라.

removeLast

리스트에서 마지막 요소를 제거한 후 리턴하고, 리스트가 빈 경우 오류를 응답하라.


LinkedList: 열거하기

do: aBlock

리스트 내 각 객체를 열거하고 이를 aBlock을 전달하라 (실제 행위는 사용 중인 Link의 서브클래스에 따라 좌우될 것이다).

identityIncludes: anObject

우리가 anObject 객체를 포함하는지 응답하라.

includes: anObject

우리가 anObject를 포함하는지 응답하라.


LinkedList: 검사하기

isEmpty

리스트가 어떤 멤버도 포함하지 않은 경우 true를 리턴하라.

notEmpty

리스트가 최소한 하나의 멤버라도 포함한 경우 true를 리턴하라.

size

리스트 내 요소의 수를 응답하라. 경고: 이것은 O(n)이다.


Notes