@Override public int size() { return keySet().size(); }
private EntrySet<K, V> entrySet0() { if (entries == null) { Set<K> keys = keySet(); @SuppressWarnings("unchecked") Map.Entry<K, V>[] array = (Map.Entry<K, V>[]) new Map.Entry<?, ?>[keys.size()]; int index = 0; for (K key : keys) { V value = get(key); assert value != null; array[index++] = new Entry<>(key, value); } entries = new EntrySet<>(array); } return entries; }