base/common/src/main/com/thesett/common/util/maps/HashArray.java
public V put(K key, V value)
    {
        // Remove any existing matching key from the data
        V removedObject = remove(key);

        // Insert the data into the array
        data.add(value);

        // Insert a key into the map that points to the end of the array
        keyToIndex.put(key, data.size() - 1);

        // Create an entry in the key set to track the insertion order of the keys (automatically goes at the end of
        // a linked hash set)
        keySet.add(key);

        // Return the replaced value if there was one
        return removedObject;
    }
public V put(K key, V value)
    {
        // Remove any existing matching key from the data
        V removedObject = remove(key);

        // Insert the data into the array
        data.add(value);

        // Insert a key into the map that points to the end of the array
        keyToIndex.put(key, data.size() - 1);

        // Create an entry in the key set to track the insertion order of the keys (automatically goes at the end of
        // a linked hash set)
        keySet.add(key);

        // Return the replaced value if there was one
        return removedObject;
    }
Associates the specified value with the specified key in this map.

@param  key   The key to store against in this map.
@param  value The value to store against the key.

@return The value that was previously stored against the key, or null if there was none.