ReverseIterator
Extends:
STL-like backward iterator. Can be used to traverse container or a range in the reverse order. It's more verbose than ES6 iterators, but allows iteration over any part of the container
Example:
let m = new TreeMap();
...
for (let it = m.rbegin(); !it.equals(m.rend()); it.next()) {
console.log(`key: ${it.key}, value: ${it.value}`);
}
Constructor Summary
Public Constructor | ||
public |
constructor(args: *) There are 3 ways to construct a reverse iterator: |
Method Summary
Public Methods | ||
public |
next() Replaces node reference with the reference of the previous node in the container, because it works in reverse order Can be used for manual reverse iteration over a range of key-value pairs. |
|
public |
prev() Replaces node reference with the reference of the next node in the container, because it works in reverse order Can be used for manual forward iteration over a range of key-value pairs. |
Inherited Summary
From class BaseIterator | ||
public |
equals(rhs: BaseIterator): boolean Two iterators are considered to be equal if they point to the same node of the same container |
Public Constructors
public constructor(args: *) source
There are 3 ways to construct a reverse iterator:
- Using a node and a container
- Copy constructor / clone
- Copy constructor / clone from forward Iterator instance
Override:
BaseIterator#constructorParams:
Name | Type | Attribute | Description |
args | * |
Example:
// Using a node and a container
let it = new ReverseIterator(node, container);
// Copy constructor / clone
let it1 = new ReverseIterator(node, container);
let it2 = new ReverseIterator(it1);
// Copy constructor / clone from forward Iterator instance
let it1 = new Iterator(node, container);
let it2 = new ReverseIterator(it1);
Public Methods
public next() source
Replaces node reference with the reference of the previous node in the container, because it works in reverse order Can be used for manual reverse iteration over a range of key-value pairs.
Example:
let m = new TreeMap();
... // add key-value pairs., using numbers as keys
let from = new ReverseIterator(t.upperBound(50));
let to = new ReverseIterator(t.lowerBound(0));
let it = from;
while (!it.equals(to)) {
console.log(it.key);
it.next();
}
public prev() source
Replaces node reference with the reference of the next node in the container, because it works in reverse order Can be used for manual forward iteration over a range of key-value pairs.
Example:
let m = new TreeMap();
... // add key-value pairs., using numbers as keys
let from = new ReverseIterator(t.upperBound(50));
let to = new ReverseIterator(t.lowerBound(0));
let it = to;
while (!it.equals(from)) {
it.prev();
console.log(it.key);
}