Package ghidra.util.datastruct
Class RedBlackLongKeySet
java.lang.Object
ghidra.util.datastruct.RedBlackLongKeySet
- All Implemented Interfaces:
Serializable
A RedBlack Tree implementation of a long key set.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
the number of bytes in a RedBlackLongKeySet node -
Constructor Summary
ConstructorDescriptionCreates a new RedBlackLongKeySet that can store keys between 0 and n. -
Method Summary
Modifier and TypeMethodDescriptionboolean
containsKey
(long key) Returns true if the key is in the set.long
getFirst()
Returns the first key in this set.long
getLast()
Returns the last key in this set.long
getNext
(long key) Returns the smallest key in the set that is greater than the given key.long
getPrevious
(long key) Returns the largest key in the set that is less than the given key.boolean
isEmpty()
Test if the set is empty.void
put
(long key) Adds the given key to the set.boolean
remove
(long key) Removes the given key from the set.void
Removes all keys from the set.int
size()
Returns the number keys in this set.
-
Field Details
-
NODESIZE
public static final int NODESIZEthe number of bytes in a RedBlackLongKeySet node- See Also:
-
-
Constructor Details
-
RedBlackLongKeySet
public RedBlackLongKeySet()Creates a new RedBlackLongKeySet that can store keys between 0 and n.
-
-
Method Details
-
size
public int size()Returns the number keys in this set. -
containsKey
public boolean containsKey(long key) Returns true if the key is in the set.- Parameters:
key
- the key whose presence is to be tested.- Throws:
IndexOutOfBoundsException
- thrown if the given key is not in the range [0, maxKey].
-
getFirst
public long getFirst()Returns the first key in this set. -
getLast
public long getLast()Returns the last key in this set. -
getNext
public long getNext(long key) Returns the smallest key in the set that is greater than the given key. Returns -1 if there are no keys greater than the given key.- Parameters:
key
- the key for which to find the next key after.- Throws:
IndexOutOfBoundsException
- thrown if the given key is not in the range [0, maxKey].
-
getPrevious
public long getPrevious(long key) Returns the largest key in the set that is less than the given key. Returns -1 if there are not keys less than the given key.- Parameters:
key
- the key for which to find the previous key.- Throws:
IndexOutOfBoundsException
- thrown if the given key is not in the range [0, maxKey].
-
put
public void put(long key) Adds the given key to the set.- Parameters:
key
- the key to add to the set.- Throws:
IndexOutOfBoundsException
- thrown if the given key is not in the range [0, maxKey].
-
remove
public boolean remove(long key) Removes the given key from the set.- Parameters:
key
- the key to remove from the set.- Throws:
IndexOutOfBoundsException
- thrown if the given key is not in the range [0, maxKey].
-
removeAll
public void removeAll()Removes all keys from the set. -
isEmpty
public boolean isEmpty()Test if the set is empty.- Returns:
- true if the set is empty.
-