java - 将多个集合合并为一个集合?

标签 java collections guava

我有以下代码:

Object value = methodOutOfMyControl();        
Collection<LinkedHashSet<String>> values = ((Map) value).values();
Set<String> strings = new HashSet<String>();
for (LinkedHashSet<String> set : values) {
    strings.addAll(set);
}

有没有办法更简洁地重写此代码?

P.S.我使用java 6

最佳答案

这看起来更好:

 Collection<LinkedHashSet<String>> values = ((Map) userPreferenceValue).values();
 Set<String> contraValues = Sets.newHashSet(Iterables.concat(values));

关于java - 将多个集合合并为一个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34923378/

相关文章:

java - android studio "earthquake app"中的 gradle 同步问题

java - 如何使用 Guava 转义 HTML 实体?

java - Map<Class<?>, Object> 注册表

java - Google Guava Cache - cleanUp 和 invalidateAll

java - 将网络位置保存为 .txt 文件(不使用 GPS)

FooProvider/FooManager 和 Foo 对象的 Java 创 build 计模式

java - 如何检测浏览器选项卡中的关闭?

java - 这是声明 arraylist 的最佳方式

java - 为什么 Collections.binarySearch() 不能使用这个可比对象?

c# - 如何缩短 List<List<KeyValuePair<string, string>>>?