是否有一种简单的方法可以转换和转换列表以使用番石榴设置?
我想使用方法:
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 );
答案 0 :(得分:28)
Set<To> result = FluentIterable.from(myList)
.transform(new Function<From, To>() {
@Override
public To apply(From input) {
return convert(input);
}
})
.toSet();
这会创建一个ImmutableSet,它不接受null。因此,如果您希望Set包含null,则必须使用其他解决方案,例如您当前使用的解决方案。
请注意,如果它是创建困扰您的临时集合,您不应该被打扰。没有复制。该集合只是原始列表的视图。