Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 package com.generalrobotix.ui.util;
00011 import java.util.*;
00012
00013 @SuppressWarnings({ "unchecked", "serial" })
00014 public class OrderedHashMap extends HashMap {
00015 private List<Object> keyList_;
00016 private List<Object> valList_;
00017
00018 public OrderedHashMap() {
00019 keyList_ = new ArrayList<Object>();
00020 valList_ = new ArrayList<Object>();
00021 }
00022
00023 public Object put(Object key,Object obj) {
00024 if (!containsKey(key)) {
00025 keyList_.add(key);
00026 valList_.add(obj);
00027 }
00028 return super.put(key, obj);
00029 }
00030
00031 public Iterator keys() {
00032 return keyList_.iterator();
00033 }
00034
00035 public Collection values() {
00036 return valList_;
00037 }
00038
00039 public Object[] toArray() {
00040 return keyList_.toArray();
00041 }
00042
00043 public Object[] toArray(Object[] array) {
00044 return keyList_.toArray(array);
00045 }
00046
00047 public Object remove(Object key) {
00048 keyList_.remove(key);
00049 Object val = super.remove(key);
00050 valList_.remove(val);
00051 return val;
00052 }
00053
00054 public void clear(){
00055 keyList_.clear();
00056 valList_.clear();
00057 super.clear();
00058 }
00059 }