001package gudusoft.gsqlparser.util; 002 003import java.util.ArrayList; 004import java.util.LinkedHashMap; 005 006public class IndexedLinkedHashMap<K, V> extends LinkedHashMap<K, V> { 007 008 /** 009 * serialVersionUID 010 */ 011 private static final long serialVersionUID = 1L; 012 013 private ArrayList<K> arrayList = new ArrayList<K>(); 014 015 @Override 016 public V put(K key, V val) { 017 if (!super.containsKey(key)) { 018 arrayList.add(key); 019 } 020 V returnValue = super.put(key, val); 021 return returnValue; 022 } 023 024 public V getValueAtIndex(int i) { 025 return (V) super.get(arrayList.get(i)); 026 } 027 028 public K getKeyAtIndex(int i) { 029 return (K) arrayList.get(i); 030 } 031 032 public int getIndexOf(K key) { 033 return arrayList.indexOf(key); 034 } 035 036}