GnuSmalltalkUsersGuide:BaseChapter 123
- OrderedCollection
OrderedCollection
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: SequenceableCollection
범주: 컬렉션-순차 가능
- 나의 인스턴스들은 색인에 의한 직접 접근이 불가능한 임의의 타입이 있는 객체들이 모인 정렬된 컬렉션을 표현한다. 이는 색인을 통해 간접적으로 접근이 가능하며, 내용을 기반으로 하거나 끝에 추가함으로써 조작이 가능하다 (add:after: 과 같이).
OrderedCollection 클래스: 인스턴스 생성
new
기본 크기로 된 OrderedCollection을 응답하라.
new: anInteger
anInteger 크기의 OrderedCollection을 응답하라.
OrderedCollection: 접근하기
at: anIndex
수신자의 anIndex 번째 색인을 응답하라.
at: anIndex put: anObject
수신자의 anIndex 번째 항목에 anObject를 보관하고 anObject를 응답하라.
first
수신자의 첫 번째 항목을 응답하라.
last
수신자의 마지막 항목을 응답하라.
size
수신자 내의 객체 수를 리턴하라.
OrderedCollection: 추가하기
add: anObject
수신자 내 anObject를 추가하여 이를 응답하라.
add: newObject after: oldObject
수신자 내에서 oldObject 바로 뒤에 newObject를 추가하여 이를 응답하라. oldObject를 찾을 수 없는 경우 실패한다.
add: newObject afterIndex: i
수신자 내에서 newObject를 i 번째 바로 뒤에 추가하여 이를 응답하라. i<0 또는 i>self size인 경우 실패한다.
add: newObject before: oldObject
수신자 내에서 newObject를 oldObject 바로 앞에 추가하여 이를 응답하라. oldObject를 찾을 수 없는 경우 실패한다.
add: newObject beforeIndex: i
수신자 내에서 newObject를 i 번째 바로 앞에 추가하여 이를 응답하라. i<1 또는 i>self size+1 인 경우 실패한다.
addAll: aCollection
aCollection의 모든 항목을 수신자에 추가하여 이를 응답하라.
addAll: newCollection after: oldObject
newCollection의 모든 항목을 수신자에서 oldObject 바로 뒤에 추가하여 이를 응답하라. oldObject를 찾을 수 없는 경우 실패한다.
addAll: newCollection afterIndex: i
newCollection의 모든 항목을 수신자에서 i 번째 바로 뒤에 추가하여 이를 응답하라. i < 0 또는 i > self size인 경우 실패한다.
addAll: newCollection before: oldObject
newCollection의 모든 항목을 수신자에서 oldObject 바로 앞에 추가하여 이를 응답하라. oldObject를 찾을 수 없는 경우 실패한다.
addAll: newCollection beforeIndex: i
newCollection의 모든 항목을 수신자에서 i 번째 바로 앞에 추가하여 이를 응답하라. i < 1 또는 i > self size+1인 경우 실패한다.
addAllFirst: aCollection
newCollection의 모든 항목을 수신자의 시작 지점에 추가하라. aCollection을 응답하라.
addAllLast: aCollection
newCollection의 모든 항목을 수신자의 끝 지점에 추가하라. aCollection을 응답하라.
addFirst: newObject
newCollection을 수신자의 시작 지점에 추가하라. newObject를 응답하라.
addLast: newObject
newCollection을 수신자의 끝 지점에 추가하라. newObject를 응답하라.
OrderedCollection: 제거하기
remove: anObject ifAbsent: aBlock
수신자에게서 anObject를 제거하라. 찾을 수 없는 경우 aBlock의 평가 결과를 응답하라.
removeAtIndex: anIndex
수신자의 색인 anIndex에서 객체를 제거하라. 색인이 범위를 벗어난 경우 실패한다.
removeFirst
수신자의 시작 지점으로부터 객체를 제거하라. 수신자가 비어 있는 경우 실패한다.
removeLast
수신자의 끝 지점으로부터 객체를 제거하라. 수신자가 비어 있는 경우 실패한다.