Class SegmentConstantPoolArrayCache.CachedArray
java.lang.Object
org.apache.commons.compress.harmony.unpack200.SegmentConstantPoolArrayCache.CachedArray
- Enclosing class:
- SegmentConstantPoolArrayCache
Keeps track of the last known size of an array as well as a HashMap that knows the mapping from element values to the indices of the array
which contain that value.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Given a primaryArray, cache its values in a HashMap to provide a backwards mapping from element values to element indexes.indexesForKey
(String key) Given a particular key, answer a List of index locations in the array which contain that key.int
Answer the last known size of the array cached.
-
Constructor Details
-
CachedArray
-
-
Method Details
-
cacheIndexes
Given a primaryArray, cache its values in a HashMap to provide a backwards mapping from element values to element indexes. For instance, a primaryArray of: {"Zero", "Foo", "Two", "Foo"} would yield a HashMap of: "Zero" -> 0 "Foo" -> 1, 3 "Two" -> 2 which is then cached. -
indexesForKey
Given a particular key, answer a List of index locations in the array which contain that key. If no elements are found, answer an empty list.- Parameters:
key
- String element of the array- Returns:
- List of indexes containing that key in the array.
-
lastKnownSize
Answer the last known size of the array cached. If the last known size is not the same as the current size, the array must have changed.- Returns:
- int last known size of the cached array
-