繁体   English   中英

使用Guava将Map转换为对象?

[英]Transform Map to object using Guava?

使用Guava,是否可以将Map转换为包含Map的键和值的对象的Set或List? 例如给出类似的东西

class MyEntry {
    public String key;
    public String value;
}

Map<String,String> theMap = new Map<String,String>();

我在Guava中遗漏了这样的东西/没找到它:

Set<MyEntry> myEntries = Maps.transform(theMap, transformFunction<<Map<String,String>, MyEntry>);

显然,手动这样做并不难,我仍然想知道我是否错过了什么,而番石榴真的不支持这样的事情?

谢谢你的提示!

与番石榴最接近的事情就是这样

Collection<MyEntry> myEntries = Collections2.transform(map.entrySet(), function);

这只是mapentrySet上的常规转换,而function的类型为Function<Map.Entry<String, String>, MyEntry>

番石榴不能提供Sets.transform由于各种原因 - 它不能保证函数是单射的,它没有与函数相反的等等。如果你需要一个Set ,那么你可能是最好的只是做手动循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM