MCPcopy Create free account
hub / github.com/davidgiven/luje / SingletonMap

Class SingletonMap

lib/java/util/Collections.java:310–394  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

308 }
309
310 private static final class SingletonMap<K, V> extends AbstractMap<K, V>
311 implements Serializable {
312 private static final long serialVersionUID = -6979724477215052911L;
313
314 final K k;
315
316 final V v;
317
318 SingletonMap(K key, V value) {
319 k = key;
320 v = value;
321 }
322
323 @Override
324 public boolean containsKey(Object key) {
325 return k == null ? key == null : k.equals(key);
326 }
327
328 @Override
329 public boolean containsValue(Object value) {
330 return v == null ? value == null : v.equals(value);
331 }
332
333 @Override
334 public V get(Object key) {
335 if (containsKey(key)) {
336 return v;
337 }
338 return null;
339 }
340
341 @Override
342 public int size() {
343 return 1;
344 }
345
346 @Override
347 public Set<Map.Entry<K, V>> entrySet() {
348 return new AbstractSet<Map.Entry<K, V>>() {
349 @Override
350 public boolean contains(Object object) {
351 if (object instanceof Map.Entry) {
352 Map.Entry<?, ?> entry = (Map.Entry<?, ?>) object;
353 return containsKey(entry.getKey())
354 && containsValue(entry.getValue());
355 }
356 return false;
357 }
358
359 @Override
360 public int size() {
361 return 1;
362 }
363
364 @Override
365 public Iterator<Map.Entry<K, V>> iterator() {
366 return new Iterator<Map.Entry<K, V>>() {
367 boolean hasNext = true;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected