# Hierarchy For Package ghidra.util.datastruct

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.apache.commons.collections4.collection.AbstractCollectionDecorator<E> (implements java.util.Collection<E>, java.io.Serializable)
    - ghidra.util.datastruct.DefaultObservableCollection<E,L> (implements ghidra.util.datastruct.ObservableCollection<E,L>)
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - java.util.LinkedHashMap<K,V> (implements java.util.SequencedMap<K,V>)
        - ghidra.util.datastruct.FixedSizeHashMap<K,V>
  - ghidra.util.datastruct.AbstractWeakValueMap<K,V> (implements java.util.Map<K,V>)
    - ghidra.util.datastruct.AbstractWeakValueNavigableMap<K,V> (implements java.util.NavigableMap<K,V>)
      - ghidra.util.datastruct.AbstractWeakValueNavigableMap.NavigableView<K,V>
      - ghidra.util.datastruct.WeakValueTreeMap<K,V>
    - ghidra.util.datastruct.WeakValueHashMap<K,V>
  - ghidra.util.datastruct.AbstractWeakValueMap.GeneratedEntry (implements java.util.Map.Entry<K,V>)
  - ghidra.util.datastruct.BitTree (implements java.io.Serializable, ghidra.util.datastruct.ShortKeySet)
  - ghidra.util.datastruct.BooleanArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.ByteArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.ByteArrayArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.CallbackAccumulator<T> (implements ghidra.util.datastruct.Accumulator<T>)
  - ghidra.util.datastruct.CaseInsensitiveDuplicateStringComparator (implements java.util.Comparator<T>)
  - ghidra.util.datastruct.DataStructureErrorHandlerFactory
  - ghidra.util.datastruct.DataTable (implements java.io.Serializable)
    - ghidra.util.datastruct.ManagedDataTable
  - ghidra.util.datastruct.DefaultObservableCollection.ChangeSet (implements ghidra.util.datastruct.CollectionChangeListener<E>)
  - ghidra.util.datastruct.DefaultObservableCollection.DefaultChangeAggregator (implements ghidra.util.datastruct.ObservableCollection.ChangeAggregator)
  - ghidra.util.datastruct.DoubleArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.DoubleArrayArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.Duo<T>
  - ghidra.util.datastruct.FilteringAccumulatorWrapper<T> (implements ghidra.util.datastruct.Accumulator<T>)
  - ghidra.util.datastruct.FloatArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.FloatArrayArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.FullKeySet (implements java.io.Serializable, ghidra.util.datastruct.ShortKeySet)
  - ghidra.util.datastruct.IndexRange
  - ghidra.util.datastruct.IntArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.IntArrayArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.IntArrayList (implements ghidra.util.Saveable, java.io.Serializable)
  - ghidra.util.datastruct.IntIndexManager (implements java.io.Serializable)
  - ghidra.util.datastruct.IntIntHashtable
  - ghidra.util.datastruct.IntKeyIndexer (implements java.io.Serializable)
  - ghidra.util.datastruct.IntListIndexer (implements java.io.Serializable)
  - ghidra.util.datastruct.IntObjectHashtable<T> (implements java.io.Serializable)
  - ghidra.util.datastruct.IntSet
  - ghidra.util.datastruct.ListAccumulator<T> (implements ghidra.util.datastruct.Accumulator<T>)
  - ghidra.util.datastruct.ListenerSet<T>
  - ghidra.util.datastruct.LongArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.LongArrayArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.LongArrayList (implements java.util.List<E>, java.util.RandomAccess)
  - ghidra.util.datastruct.LongDoubleHashtable (implements java.io.Serializable)
  - ghidra.util.datastruct.LongIntHashtable (implements java.io.Serializable)
  - ghidra.util.datastruct.LongKeyIndexer (implements java.io.Serializable)
  - ghidra.util.datastruct.LongLongHashtable (implements java.io.Serializable)
  - ghidra.util.datastruct.LongObjectHashtable<T> (implements java.io.Serializable)
  - ghidra.util.datastruct.LRUMap<K,V> (implements java.util.Map<K,V>)
    - ghidra.util.datastruct.LRUSet<T> (implements java.lang.Iterable<T>)
  - java.lang.Number (implements java.io.Serializable)
    - org.apache.commons.lang3.mutable.MutableInt (implements java.lang.Comparable<T>, org.apache.commons.lang3.mutable.Mutable<T>)
      - ghidra.util.datastruct.Counter
  - ghidra.util.datastruct.ObjectArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.ObjectCache<T>
  - ghidra.util.datastruct.ObjectIntHashtable<T>
  - ghidra.util.datastruct.ObjectKeyIndexer<T>
  - ghidra.util.datastruct.ObjectLongHashtable<T>
  - ghidra.util.datastruct.ObjectRangeMap<T>
  - ghidra.util.datastruct.ObjectValueRange<T> (implements java.lang.Comparable<T>)
  - ghidra.util.datastruct.Prime
  - ghidra.util.datastruct.PriorityQueue<T>
  - ghidra.util.datastruct.PrivatelyQueuedListener<P>
  - ghidra.util.datastruct.PrivatelyQueuedListener.ListenerHandler (implements java.lang.reflect.InvocationHandler)
  - ghidra.util.datastruct.PropertySetIndexRangeIterator (implements ghidra.util.datastruct.IndexRangeIterator)
  - ghidra.util.datastruct.QueueStub<E> (implements java.util.Queue<E>)
  - ghidra.util.datastruct.Range (implements java.lang.Comparable<T>, java.lang.Iterable<T>)
  - ghidra.util.datastruct.RangeMap
  - ghidra.util.datastruct.RedBlackEntry<K,V> (implements java.util.Map.Entry<K,V>)
  - ghidra.util.datastruct.RedBlackKeySet (implements java.io.Serializable, ghidra.util.datastruct.ShortKeySet)
  - ghidra.util.datastruct.RedBlackLongKeySet (implements java.io.Serializable)
  - ghidra.util.datastruct.RedBlackTree<K,V> (implements java.lang.Iterable<T>)
  - java.lang.ref.Reference<T>
    - java.lang.ref.WeakReference<T>
      - ghidra.util.datastruct.AbstractWeakValueMap.WeakValueRef<K,V>
  - ghidra.util.datastruct.SetAccumulator<T> (implements ghidra.util.datastruct.Accumulator<T>)
  - ghidra.util.datastruct.ShortArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.ShortArrayArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.ShortKeyIndexer (implements java.io.Serializable)
  - ghidra.util.datastruct.ShortListIndexer (implements java.io.Serializable)
  - ghidra.util.datastruct.ShortLongHashtable (implements java.io.Serializable)
  - ghidra.util.datastruct.ShortObjectHashtable (implements java.io.Serializable)
  - ghidra.util.datastruct.ShortStringHashtable (implements java.io.Serializable)
  - ghidra.util.datastruct.SizeLimitedAccumulatorWrapper<T> (implements ghidra.util.datastruct.Accumulator<T>)
  - ghidra.util.datastruct.SizeRestrictedAccumulatorWrapper<T> (implements ghidra.util.datastruct.Accumulator<T>)
  - ghidra.util.datastruct.SoftCacheMap<K,V> (implements java.util.Map<K,V>)
  - ghidra.util.datastruct.SortedRangeList (implements java.lang.Iterable<T>)
  - ghidra.util.datastruct.Stack<E> (implements java.lang.Iterable<T>)
    - ghidra.util.datastruct.FixedSizeStack<E>
  - ghidra.util.datastruct.StringArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.StringArrayArray (implements ghidra.util.datastruct.Array, java.io.Serializable)
  - ghidra.util.datastruct.StringIntHashtable (implements java.io.Serializable)
  - ghidra.util.datastruct.StringKeyIndexer (implements java.io.Serializable)
  - ghidra.util.datastruct.SynchronizedListAccumulator<T> (implements ghidra.util.datastruct.Accumulator<T>)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - ghidra.util.datastruct.AccumulatorSizeException
      - ghidra.util.exception.UsrException
        - ghidra.util.datastruct.NoSuchIndexException
  - ghidra.util.datastruct.ValueRange (implements java.lang.Comparable<T>)
  - ghidra.util.datastruct.WeakDataStructureFactory
  - ghidra.util.datastruct.WeakSet<T> (implements java.util.Set<E>)
  - ghidra.util.datastruct.WeakStore<T>

## Interface Hierarchy

- ghidra.util.datastruct.Array
- java.lang.AutoCloseable
  - ghidra.util.datastruct.ObservableCollection.ChangeAggregator
- ghidra.util.datastruct.CollectionChangeListener<E>
- java.util.function.Consumer<T>
  - ghidra.util.datastruct.Accumulator<T> (also extends java.lang.Iterable<T>)
- ghidra.util.datastruct.IndexRangeIterator
- java.lang.Iterable<T>
  - ghidra.util.datastruct.Accumulator<T> (also extends java.util.function.Consumer<T>)
  - java.util.Collection<E>
    - ghidra.util.datastruct.ObservableCollection<E,L>
- ghidra.util.datastruct.ListenerErrorHandler
- ghidra.util.datastruct.ListenerErrorHandlerFactory
- ghidra.util.datastruct.LongComparator
- ghidra.util.datastruct.ShortKeySet

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - ghidra.util.datastruct.DefaultObservableCollection.Change
    - ghidra.util.datastruct.Duo.Side