| 285 | } |
| 286 | |
| 287 | @WeakOuter |
| 288 | private final class ValueSet extends ForwardingSet<V> { |
| 289 | final Set<V> valuesDelegate = inverse.keySet(); |
| 290 | |
| 291 | @Override |
| 292 | protected Set<V> delegate() { |
| 293 | return valuesDelegate; |
| 294 | } |
| 295 | |
| 296 | @Override |
| 297 | public Iterator<V> iterator() { |
| 298 | return Maps.valueIterator(entrySet().iterator()); |
| 299 | } |
| 300 | |
| 301 | @Override |
| 302 | public @Nullable Object[] toArray() { |
| 303 | return standardToArray(); |
| 304 | } |
| 305 | |
| 306 | @Override |
| 307 | @SuppressWarnings("nullness") // bug in our checker's handling of toArray signatures |
| 308 | public <T extends @Nullable Object> T[] toArray(T[] array) { |
| 309 | return standardToArray(array); |
| 310 | } |
| 311 | |
| 312 | @Override |
| 313 | public String toString() { |
| 314 | return standardToString(); |
| 315 | } |
| 316 | } |
| 317 | |
| 318 | @LazyInit private transient @Nullable Set<Entry<K, V>> entrySet; |
| 319 | |