GnuSmalltalkUsersGuide:BaseChapter 101

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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