如何使用Google集合将List<String>转换为Map<String,String>?
2022-08-31 20:23:13
我有一个字符串列表,我有一个函数为列表中的每个键生成一个值。
我想使用此功能创建地图。我可以对谷歌收藏夹执行此操作吗?
我有一个字符串列表,我有一个函数为列表中的每个键生成一个值。
我想使用此功能创建地图。我可以对谷歌收藏夹执行此操作吗?
返回一个不可变映射,其 Map.values() 是给定顺序中的给定元素,每个键是对其相应值调用所提供函数的乘积。(来自javadoc)
例:
Map<String,String> mappedRoles = Maps.uniqueIndex(yourList, new Function<String,String>() {
public String apply(String from) {
// do stuff here
return result;
}});
截至2012年7月26日,番石榴大师包含两种新的方法来做到这一点。它们应该在 14.0 版中。
Maps.asMap(Set<K>, Function<? super K, V>)
(和 的两个重载)允许您将加号 a 视为 a,其中集合中每个键的值是将函数应用于该键的结果。结果是一个视图,因此它不会复制输入集,结果将随该集而变化,反之亦然。SortedSet
NavigableSet
Set
Function
Map
Map
Maps.toMap(Iterable<K>, Function<? super K, V>)
take a 并热切地将其转换为 a,其中可迭代对象的不同元素是键,值是将函数应用于每个键的结果。Iterable
ImmutableMap