ts-collection
Version:
This is re-write of the java collection classes in typescript. There is some tweak as typescript templates are not as equivalent as Java.
82 lines (81 loc) • 2.23 kB
TypeScript
import { AbstractSequentialList } from "./AbstractSequentialList";
import { Collection } from "./collection";
import { List } from "./list";
import { Deque } from "./deque";
import { ListIterator } from "./listiterator";
import { Iterator } from "./iterator";
declare class Node<E> {
prev: Node<E>;
element: E;
next: Node<E>;
constructor(prev: Node<E>, element: E, next: Node<E>);
}
export declare class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E> {
m_First: Node<E>;
m_Last: Node<E>;
m_Size: 0;
constructor();
constructor(c: Collection<E>);
linkFirst(e: E): void;
linkLast(e: E): void;
/**
* Inserts element e before non-null Node succ.
*/
linkBefore(e: E, succ: Node<E>): void;
/**
* Unlinks non-null first node f.
*/
unlinkFirst(f: Node<E>): E;
/**
* Unlinks non-null last node l.
*/
unlinkLast(l: Node<E>): E;
/**
* Unlinks non-null node x.
*/
unlink(x: Node<E>): E;
enqueue(e: E): boolean;
dequeue(): E;
getFirst(): E;
getLast(): E;
removeFirst(): E;
removeLast(): E;
addFirst(e: E): void;
addLast(e: E): void;
contains(e: E): boolean;
size(): number;
add(e: E): boolean;
remove(e: E): boolean;
addAll(c: Collection<E>): boolean;
addAllFrom(index: number, c: Collection<E>): boolean;
clear(): void;
get(index: number): E;
setAt(index: number, element: E): E;
addAt(index: number, element: E): void;
removeAt(index: number): E;
private checkElementIndex;
private isElementIndex;
private isPositionIndex;
private outOfBoundsMsg;
private checkPositionIndex;
nodeAt(index: Number): Node<E>;
indexOf(e: E): number;
lastIndexOf(e: E): number;
peek(): E;
element(): E;
poll(): E;
offer(e: E): boolean;
offerFirst(e: E): boolean;
offerLast(e: E): boolean;
peekFirst(): E;
peekLast(): E;
pollFirst(): E;
pollLast(): E;
push(e: E): void;
pop(): E;
removeFirstOccurance(e: E): boolean;
removeLastOccurance(e: E): boolean;
listIteratorFrom(index: number): ListIterator<E>;
descendingIterator(): Iterator<E>;
}
export {};