UNPKG

dastal

Version:

Data Structures & Algorithms implementations

49 lines (48 loc) 1.87 kB
import { CompareFn } from '..'; import { List } from './list'; /** * An implementation of the {@link List} interface using an array */ export declare class ArrayList<T> implements List<T> { /** * The array containing every element. */ protected array: Array<T>; /** * Instantiate the list. * * @param elements - A set of elements to initialize the list with. */ constructor(elements?: Iterable<T>); add(index: number, element: T): number; addAll(index: number, elements: Iterable<T>): number; clear(): void; concat(...lists: Iterable<T>[]): ArrayList<T>; copyWithin(index: number, min?: number, max?: number): this; fill(element: T, min?: number, max?: number): this; get(index: number): T | undefined; getSet(index: number, callback: (element: T) => T): T | undefined; pop(): T | undefined; push(element: T): number; remove(index: number): T | undefined; reverse(min?: number, max?: number): this; set(index: number, element: T): T | undefined; shift(): T | undefined; get size(): number; slice(min?: number, max?: number): ArrayList<T>; splice(start?: number, count?: number, elements?: Iterable<T>): List<T>; sort(compareFn: CompareFn<T>): this; /** * Receive an iterator through the list. * * **Note:** Unexpected behavior can occur if the collection is modified during iteration. * * @returns An iterator through the list */ [Symbol.iterator](): Iterator<T>; unshift(element: T): number; update(callback: (element: T, index: number) => T): this; update(min: number | undefined, callback: (element: T, index: number) => T): this; update(min: number | undefined, max: number | undefined, callback: (element: T, index: number) => T): this; view(min?: number, max?: number): Iterable<T>; }