-1

试图理解为什么我们有单独的方法 Maps.filterKeys 和 Maps.filterValues。

如果您将相同的谓词传递给任一方法,结果是否会不同 - 因为谓词决定了过滤的内容。

4

1 回答 1

4

除非你有一个Map<K, V>where K 和 V 是相同的类,否则你不能传递相同的谓词:

Maps.filterKeys(Map<K, V> unfiltered, Predicate<? super K> keyPredicate);
Maps.filterValues(Map<K, V> unfiltered, Predicate<? super V> valuePredicate);

顾名思义,filterKeys过滤键,filterValues过滤值。

于 2012-09-14T14:28:20.567 回答