@@ -0,0 +1,1830 @@
+/*%0D%0A * Licensed to the Apache Software Foundation (ASF) under one%0D%0A * or more contributor license agreements.  See the NOTICE file%0D%0A * distributed with this work for additional information%0D%0A * regarding copyright ownership.  The ASF licenses this file%0D%0A * to you under the Apache License, Version 2.0 (the%0D%0A * %22License%22); you may not use this file except in compliance%0D%0A * with the License.  You may obtain a copy of the License at%0D%0A * %0D%0A *   http://www.apache.org/licenses/LICENSE-2.0%0D%0A * %0D%0A * Unless required by applicable law or agreed to in writing,%0D%0A * software distributed under the License is distributed on an%0D%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0D%0A * KIND, either express or implied.  See the License for the%0D%0A * specific language governing permissions and limitations%0D%0A * under the License.%0D%0A */%0D%0A%0D%0Apackage org.apache.uima.internal.util;%0D%0A%0D%0Aimport java.lang.reflect.Array;%0D%0Aimport java.util.ArrayList;%0D%0Aimport java.util.Arrays;%0D%0Aimport java.util.NoSuchElementException;%0D%0A%0D%0Aimport org.apache.uima.util.Misc;%0D%0A%0D%0A/**%0D%0A * A map&lt;int, T&gt;%0D%0A * %0D%0A * based on ArrayList%0D%0A * %0D%0A * This impl is for use in a single thread case only%0D%0A *  %0D%0A * Implements Map - like interface:%0D%0A *   keys are ints &ge; 0%0D%0A *   %0D%0A * values can be anything, but null is the value returned by get if not found so %0D%0A *   values probably should not be null%0D%0A *   %0D%0A * remove not currently supported%0D%0A *   %0D%0A */%0D%0Apublic class Int2ObjListMap%3CT%3E %7B%0D%0A  %0D%0A  private final ArrayList%3CT%3E values = new ArrayList%3C%3E();%0D%0A  %0D%0A  public void clear() %7B%0D%0A    values.clear();%0D%0A  %7D%0D%0A%0D%0A public T get(int key) %7B%0D%0A   return (key %3C 0 %7C%7C key %3E= values.size()) %0D%0A            ? null %0D%0A            : values.get(key);%0D%0A %7D%0D%0A  %0D%0A public T put(int key, T value) %7B%0D%0A   T prev = get(key);%0D%0A   Misc.setWithExpand(values,  key,  value);%0D%0A   return prev;%0D%0A %7D%0D%0A  %0D%0A%7D%0D%0A

add utility to store map from int -> Object, where the ints are > 0 and dense and not too large, as an array list indexed by the key.