有没有一种简单的方法可以转换和转换列表以使用 Guava 设置?
我想使用方法:
Set<To> result = Sets.transformToSet(myList, new Function<From, To>() {
public To apply(From item) {
return convert(item);
}
});
这是我的代码,带有“tempCollection”
Collection<To> tempCollection = Collections2.transform(myList, new Function<From, To>() {
public To apply(From item) {
return convert(item);
}
});
Set<To> result = newHashSet(tempCollection );
最佳答案
Set<To> result = FluentIterable.from(myList)
.transform(new Function<From, To>() {
@Override
public To apply(From input) {
return convert(input);
}
})
.toSet();
这会创建一个不接受 null 的 ImmutableSet。因此,如果您希望您的 Set 包含 null,则必须使用另一种解决方案,例如您当前使用的解决方案。
请注意,如果困扰您的是临时集合的创建,那么您不应该被困扰。没有复制。该集合只是原始列表的一个 View 。
关于java - 使用 Guava 将列表转换并转换为集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20080635/