AVLMap.d.ts 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. import { JavaMapEntry } from '../../../java/util/JavaMapEntry';
  2. import { NavigableSet } from '../../../java/util/NavigableSet';
  3. import { JavaSet } from '../../../java/util/JavaSet';
  4. import { NavigableMap } from '../../../java/util/NavigableMap';
  5. import { AVLMapIntervall } from '../../../core/adt/map/AVLMapIntervall';
  6. import { Comparator } from '../../../java/util/Comparator';
  7. import { AVLMapNode } from '../../../core/adt/map/AVLMapNode';
  8. import { SortedMap } from '../../../java/util/SortedMap';
  9. import { Collection } from '../../../java/util/Collection';
  10. import { JavaObject } from '../../../java/lang/JavaObject';
  11. import { JavaMap } from '../../../java/util/JavaMap';
  12. export declare class AVLMap<K, V> extends JavaObject implements NavigableMap<K, V> {
  13. private readonly _infinityMinus;
  14. private readonly _infinityPlus;
  15. private readonly _dummyValue;
  16. private readonly _sub;
  17. private readonly _comparator;
  18. private readonly _comparatorNatural;
  19. private _root;
  20. private _allowKeyAlone;
  21. /**
  22. * Erzeugt einen leere Map, welche bei den Schlüsselwerten die natürliche Ordnung des {@link Comparable} -
  23. * Interface nutzt.
  24. */
  25. constructor();
  26. /**
  27. * Erstellt eine neue leere Map und nutzt dabei die angegeben Ordnung der Schlüssel.
  28. *
  29. * @param comparator Die Ordnung für die Schlüssel.
  30. */
  31. constructor(comparator: Comparator<K>);
  32. /**
  33. * Erstellt eine neue Map mit den Daten aus der angegebenen Map und nutzt dabei die Ordnung dieser Map.
  34. *
  35. * @param map Die Map mit den Daten.
  36. */
  37. constructor(map: SortedMap<K, V>);
  38. toString(): String;
  39. /**
  40. * Bewirkt, dass das Hinzufügen von Keys ohne Value durch {@link AVLMapSubKeySet} erlaubt ist. Die Keys werden
  41. * auf einen Dummy-Wert gemapped.
  42. *
  43. * @param b Falls TRUE, dürfen KEYs ohne VALUE hinzugefügt werden.
  44. */
  45. allowKeyAlone(b: boolean): void;
  46. equals(o: unknown): boolean;
  47. hashCode(): number;
  48. comparator(): Comparator<K>;
  49. firstKey(): K;
  50. lastKey(): K;
  51. keySet(): JavaSet<K>;
  52. values(): Collection<V>;
  53. entrySet(): JavaSet<JavaMapEntry<K, V>>;
  54. size(): number;
  55. isEmpty(): boolean;
  56. containsKey(key: unknown): boolean;
  57. containsValue(value: unknown): boolean;
  58. get(key: unknown): V | null;
  59. put(key: K, value: V): V | null;
  60. remove(key: unknown): V | null;
  61. putAll(m: JavaMap<K, V>): void;
  62. clear(): void;
  63. lowerEntry(key: K): JavaMapEntry<K, V> | null;
  64. lowerKey(key: K): K | null;
  65. floorEntry(key: K): JavaMapEntry<K, V> | null;
  66. floorKey(key: K): K | null;
  67. ceilingEntry(key: K): JavaMapEntry<K, V> | null;
  68. ceilingKey(key: K): K | null;
  69. higherEntry(key: K): JavaMapEntry<K, V> | null;
  70. higherKey(key: K): K | null;
  71. firstEntry(): JavaMapEntry<K, V> | null;
  72. lastEntry(): JavaMapEntry<K, V> | null;
  73. pollFirstEntry(): JavaMapEntry<K, V> | null;
  74. pollLastEntry(): JavaMapEntry<K, V> | null;
  75. descendingMap(): NavigableMap<K, V>;
  76. navigableKeySet(): NavigableSet<K>;
  77. descendingKeySet(): NavigableSet<K>;
  78. subMap(fromKey: K, fromInclusive: boolean, toKey: K, toInclusive: boolean): NavigableMap<K, V>;
  79. subMap(fromKey: K, toKey: K): SortedMap<K, V>;
  80. headMap(toKey: K, inclusive: boolean): NavigableMap<K, V>;
  81. headMap(toKey: K): SortedMap<K, V>;
  82. tailMap(fromKey: K, inclusive: boolean): NavigableMap<K, V>;
  83. tailMap(fromKey: K): SortedMap<K, V>;
  84. bcAddEntryReturnBool(e: JavaMapEntry<K, V>, iv: AVLMapIntervall<K>): boolean;
  85. bcAddAllEntries(c: Collection<JavaMapEntry<K, V>>, iv: AVLMapIntervall<K>): boolean;
  86. bcAddEntryReturnOldValueOrNull(key: K, value: V, iv: AVLMapIntervall<K>): V | null;
  87. bcAddValue(e: V, iv: AVLMapIntervall<K>): boolean;
  88. bcAddKey(e: K, iv: AVLMapIntervall<K>): boolean;
  89. bcAddAllKeys(c: Collection<K>, iv: AVLMapIntervall<K>): boolean;
  90. bcAddAllEntriesOfMap(map: JavaMap<K, V>, iv: AVLMapIntervall<K>): void;
  91. bcContainsKey(objKey: unknown, iv: AVLMapIntervall<K>): boolean;
  92. bcContainsAllKeys(c: Collection<unknown>, iv: AVLMapIntervall<K>): boolean;
  93. bcContainsValue(objValue: unknown, iv: AVLMapIntervall<K>): boolean;
  94. bcContainsAllValues(col: Collection<unknown>, iv: AVLMapIntervall<K>): boolean;
  95. bcContainsEntry(o: unknown, iv: AVLMapIntervall<K>): boolean;
  96. bcContainsAllEntries(c: Collection<unknown>, iv: AVLMapIntervall<K>): boolean;
  97. bcRemoveKeyReturnBool(o: unknown, iv: AVLMapIntervall<K>): boolean;
  98. bcRemoveAllKeys(c: Collection<unknown>, iv: AVLMapIntervall<K>): boolean;
  99. bcRemoveEntry(o: unknown, iv: AVLMapIntervall<K>): boolean;
  100. bcRemoveAllEntries(c: Collection<unknown>, iv: AVLMapIntervall<K>): boolean;
  101. bcRemoveKeyReturnOldValueOrNull(obj: unknown, iv: AVLMapIntervall<K>): V | null;
  102. bcPollFirstEntryOrNull(iv: AVLMapIntervall<K>): JavaMapEntry<K, V> | null;
  103. bcPollFirstKeyOrNull(iv: AVLMapIntervall<K>): K | null;
  104. bcPollLastEntryOrNull(iv: AVLMapIntervall<K>): JavaMapEntry<K, V> | null;
  105. bcPollLastKeyOrNull(iv: AVLMapIntervall<K>): K | null;
  106. bcIsEmpty(iv: AVLMapIntervall<K>): boolean;
  107. bcGetComparator(iv: AVLMapIntervall<K>): Comparator<K>;
  108. bcGetFirstKeyOrException(iv: AVLMapIntervall<K>): K;
  109. bcGetFirstEntryOrNull(iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  110. bcGetLastKeyOrException(iv: AVLMapIntervall<K>): K;
  111. bcGetLastEntryOrNull(iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  112. bcGetNextEntryOrNull(current: AVLMapNode<K, V>, iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  113. bcGetPrevEntryOrNull(current: AVLMapNode<K, V>, iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  114. bcGetSize(iv: AVLMapIntervall<K>): number;
  115. bcGetValueOfKeyOrNull(objKey: unknown, iv: AVLMapIntervall<K>): V | null;
  116. bcGetLowerEntryOrNull(key: K, iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  117. bcGetLowerKeyOrNull(key: K, iv: AVLMapIntervall<K>): K | null;
  118. bcGetFloorEntryOrNull(key: K, iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  119. bcGetFloorKeyOrNull(key: K, iv: AVLMapIntervall<K>): K | null;
  120. bcGetCeilingEntryOrNull(key: K, iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  121. bcGetCeilingKeyOrNull(key: K, iv: AVLMapIntervall<K>): K | null;
  122. bcGetHigherEntryOrNull(key: K, iv: AVLMapIntervall<K>): AVLMapNode<K, V> | null;
  123. bcGetHigherKeyOrNull(key: K, iv: AVLMapIntervall<K>): K | null;
  124. bcCheckOutOfIntervall(key: K, inc: boolean, iv: AVLMapIntervall<K>): boolean;
  125. private _keyOrNull;
  126. private _valEquals;
  127. private _keyOrExeption;
  128. private _compare;
  129. private _isOutOfRange;
  130. private _nodeFirstOrNull;
  131. private _nodeLastOrNull;
  132. private _nodeCeilingOrNull;
  133. private _nodeHigherOrNull;
  134. private _nodeFloorOrNull;
  135. private _nodeLowerOrNull;
  136. private _nodeNextOrNull;
  137. private _nodePrevOrNull;
  138. private _nodeGetOrNull;
  139. private _nodeIndexOf;
  140. private _nodeDeepestOrNull;
  141. private _nodePutRecursive;
  142. private _nodeCreateLeaf;
  143. private _nodeRemoveKeyRecursive;
  144. private _nodeReplaceReferencesFromAwithB;
  145. private _nodeRemovePrevNext;
  146. /**
  147. * Aktualisiert {@code node} und liefert, wenn es zur Rotation kommt, eine neue Sub-Wurzel.
  148. *
  149. * @param node Der Knoten, der revalidiert werden soll.
  150. *
  151. * @return node, oder die neue Sub-Wurzel, wenn es zur Rotation kam.
  152. */
  153. private _nodeRevalidate;
  154. private _nodeRotateLeft;
  155. private _nodeRotateRight;
  156. private _nodeRevalidateHeightAndSize;
  157. private _nodeGetHeightBalance;
  158. isTranspiledInstanceOf(name: string): boolean;
  159. }
  160. export declare function cast_de_nrw_schule_svws_core_adt_map_AVLMap<K, V>(obj: unknown): AVLMap<K, V>;