org.apache.commons.compress.harmony.unpack200

## Class SegmentConstantPoolArrayCache.CachedArray

- java.lang.Object
- - org.apache.commons.compress.harmony.unpack200.SegmentConstantPoolArrayCache.CachedArray

- Enclosing class:
    SegmentConstantPoolArrayCache

      protected class SegmentConstantPoolArrayCache.CachedArray
      extends 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 and Description
    `CachedArray(String[] array)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `cacheIndexes()` Given a primaryArray, cache its values in a HashMap to provide a backwards mapping from element values to element indexes.
    `List` | `indexesForKey(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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CachedArray

          public CachedArray(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 List indexesForKey(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.

Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.