Class SegmentConstantPoolArrayCache.CachedArray
- java.lang.Object
-
- org.apache.commons.compress.harmony.unpack200.SegmentConstantPoolArrayCache.CachedArray
-
- Enclosing class:
- SegmentConstantPoolArrayCache
protected class SegmentConstantPoolArrayCache.CachedArray extends java.lang.Object
CachedArray 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
Constructors Constructor Description CachedArray(java.lang.String[] array)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
cacheIndexes()
Given a primaryArray, cache its values in a HashMap to provide a backwards mapping from element values to element indexes.java.util.List
indexesForKey(java.lang.String key)
Given a particular key, answer a List of index locations in the array which contain that key.int
lastKnownSize()
Answer the last known size of the array cached.
-
-
-
Constructor Detail
-
CachedArray
public CachedArray(java.lang.String[] array)
-
-
Method Detail
-
lastKnownSize
public int 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
-
indexesForKey
public java.util.List indexesForKey(java.lang.String key)
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.
-
cacheIndexes
protected void 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.
-
-