-1

Maps.filterKeys と Maps.filterValues という別々のメソッドがある理由を理解しようとしています。

どちらのメソッドにも同じ述語を渡した場合、結果は同じではありません - 述語がフィルタリングされるものを決定するためです。

4

1 に答える 1

4

Map<K, V>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 に答える