1 30 31 32 package org.hsqldb.lib; 33 34 import org.hsqldb.store.BaseHashMap; 35 36 42 public class IntKeyHashMap extends BaseHashMap { 43 44 Set keySet; 45 Collection values; 46 47 public IntKeyHashMap() { 48 this(16, 0.75f); 49 } 50 51 public IntKeyHashMap(int initialCapacity) 52 throws IllegalArgumentException { 53 this(initialCapacity, 0.75f); 54 } 55 56 public IntKeyHashMap(int initialCapacity, 57 float loadFactor) throws IllegalArgumentException { 58 super(initialCapacity, loadFactor, BaseHashMap.intKeyOrValue, 59 BaseHashMap.objectKeyOrValue, false); 60 } 61 62 public Object get(int key) { 63 64 int lookup = getLookup(key); 65 66 if (lookup != -1) { 67 return objectValueTable[lookup]; 68 } 69 70 return null; 71 } 72 73 public Object put(int key, Object value) { 74 return super.addOrRemove(key, 0, null, value, false); 75 } 76 77 public boolean containsValue(Object value) { 78 return super.containsValue(value); 79 } 80 81 public Object remove(int key) { 82 return super.addOrRemove(key, 0, null, null, true); 83 } 84 85 public Set keySet() { 86 87 if (keySet == null) { 88 keySet = new KeySet(); 89 } 90 91 return keySet; 92 } 93 94 public Collection values() { 95 96 if (values == null) { 97 values = new Values(); 98 } 99 100 return values; 101 } 102 103 class KeySet implements Set { 104 105 public Iterator iterator() { 106 return IntKeyHashMap.this.new BaseHashIterator(true); 107 } 108 109 public int size() { 110 return IntKeyHashMap.this.size(); 111 } 112 113 public boolean contains(Object o) { 114 throw new RuntimeException (); 115 } 116 117 public Object get(Object key) { 118 throw new RuntimeException (); 119 } 120 121 public boolean add(Object value) { 122 throw new RuntimeException (); 123 } 124 125 public boolean addAll(Collection c) { 126 throw new RuntimeException (); 127 } 128 129 public boolean remove(Object o) { 130 throw new RuntimeException (); 131 } 132 133 public boolean isEmpty() { 134 return size() == 0; 135 } 136 137 public void clear() { 138 IntKeyHashMap.this.clear(); 139 } 140 } 141 142 class Values implements Collection { 143 144 public Iterator iterator() { 145 return IntKeyHashMap.this.new BaseHashIterator(false); 146 } 147 148 public int size() { 149 return IntKeyHashMap.this.size(); 150 } 151 152 public boolean contains(Object o) { 153 throw new RuntimeException (); 154 } 155 156 public boolean add(Object value) { 157 throw new RuntimeException (); 158 } 159 160 public boolean addAll(Collection c) { 161 throw new RuntimeException (); 162 } 163 164 public boolean remove(Object o) { 165 throw new RuntimeException (); 166 } 167 168 public boolean isEmpty() { 169 return size() == 0; 170 } 171 172 public void clear() { 173 IntKeyHashMap.this.clear(); 174 } 175 } 176 } 177 | Popular Tags |