番石榴具有静态方法
Maps.uniqueIndex(Iterable<V> values, Function<? super V,K> keyFunction)
通过输入在各个元素上的输入函数的结果来映射输入集合中的每个条目。
是否有与 C#类似的模拟?
Java 示例
Map<String, Human> idToHuman = Maps.uniqueIndex(humans, Human::getPassportId)
;
答案 0 :(得分:2)
在C#
的情况下,我们有IEnumerable<V>
而不是Iterable<V>
,并且Dictionary
的{{1}}无效。这就是为什么我们可以放入C#
Map
其中using System.Linq;
...
Dictionary<K, V> result = values.ToDictionary(v => keyFunction(v));
个元素values
和IEnumerable<V>
是keyFunction
。就您而言,C#代码可以是这样的
Func<V, K>