자료구조 Sequence 인터페이스
(사용 가능한 버전 정보가 없으며 Git에만 있을 수 있음)
소개
시퀀스는 단일 선형 차원에 배열된 값의 동작을 설명합니다. 일부 언어에서는 이것을 "Lis"이라고 합니다. 몇 가지 특성을 제외하고는 증분 정수 키를 사용하는 배열과 유사합니다.
- 값은 항상 [0, 1, 2, ..., 크기 - 1]로 인덱싱됩니다.
- [0, size - 1] 범위의 인덱스 값에만 액세스할 수 있습니다.
사용 사례:
- 배열을 목록으로 사용하는 모든 위치(키와 관계 없음).
- SplDoubleLinkedList 및 SplFixedArray에 대한 보다 효율적인 대안입니다.
인터페이스 개요
class Ds\Sequence implements Ds\Collection, ArrayAccess {
/* Methods */
abstract public allocate(int $capacity): void
abstract public apply(callable $callback): void
abstract public capacity(): int
abstract public contains(mixed ...$values): bool
abstract public filter(callable $callback = ?): Ds\Sequence
abstract public find(mixed $value): mixed
abstract public first(): mixed
abstract public get(int $index): mixed
abstract public insert(int $index, mixed ...$values): void
abstract public join(string $glue = ?): string
abstract public last(): mixed
abstract public map(callable $callback): Ds\Sequence
abstract public merge(mixed $values): Ds\Sequence
abstract public pop(): mixed
abstract public push(mixed ...$values): void
abstract public reduce(callable $callback, mixed $initial = ?): mixed
abstract public remove(int $index): mixed
abstract public reverse(): void
abstract public reversed(): Ds\Sequence
abstract public rotate(int $rotations): void
abstract public set(int $index, mixed $value): void
abstract public shift(): mixed
abstract public slice(int $index, int $length = ?): Ds\Sequence
abstract public sort(callable $comparator = ?): void
abstract public sorted(callable $comparator = ?): Ds\Sequence
abstract public sum(): int|float
abstract public unshift(mixed $values = ?): void
}
변경 로그
버전 | 설명 |
---|---|
PECL ds 1.3.0 | 인터페이스는 이제 ArrayAccess를 확장합니다. |
목차
- Ds\Sequence::allocate — 필요한 용량에 충분한 메모리 할당
- Ds\Sequence::apply — 각 값에 콜백 함수를 적용하여 모든 값을 업데이트합니다.
- Ds\Sequence::capacity — 현재 용량을 반환합니다.
- Ds\Sequence::contains — 시퀀스에 주어진 값이 포함되어 있는지 확인
- Ds\Sequence::filter — 포함할 값을 결정하기 위해 콜러블을 사용하여 새 시퀀스를 만듭니다.
- Ds\Sequence::find — 값의 인덱스를 찾으려고 시도합니다.
- Ds\Sequence::first — 시퀀스의 첫 번째 값을 반환
- Ds\Sequence::get — 주어진 인덱스의 값을 반환
- Ds\Sequence::insert — 주어진 인덱스에 값을 삽입
- Ds\Sequence::join — 모든 값을 문자열로 결합
- Ds\Sequence::last — 마지막 값을 반환
- Ds\Sequence::map — 각 값에 콜백을 적용한 결과를 반환합니다.
- Ds\Sequence::merge — 주어진 모든 값을 시퀀스에 더한 결과를 반환합니다.
- Ds\Sequence::pop — 마지막 값을 제거하고 반환
- Ds\Sequence::push — 시퀀스의 끝에 값을 추가합니다.
- Ds\Sequence::reduce — 콜백 함수를 사용하여 시퀀스를 단일 값으로 줄입니다.
- Ds\Sequence::remove — 인덱스로 값을 제거하고 반환
- Ds\Sequence::reverse — 제자리에서 순서를 반대로 합니다.
- Ds\Sequence::reversed — 반전된 사본을 반환합니다.
- Ds\Sequence::rotate — 주어진 회전 수만큼 시퀀스를 회전합니다.
- Ds\Sequence::set — 지정된 인덱스에서 값을 업데이트합니다.
- Ds\Sequence::shift — 첫 번째 값을 제거하고 반환
- Ds\Sequence::slice — 주어진 범위의 하위 시퀀스를 반환합니다.
- Ds\Sequence::sort — 순서를 제자리에서 정렬
- Ds\Sequence::sorted — 정렬된 복사본을 반환합니다.
- Ds\Sequence::sum — 시퀀스의 모든 값의 합계를 반환합니다.
- Ds\Sequence::unshift — 시퀀스의 맨 앞에 값을 추가합니다.