用于转换不可变列表的番石榴单行更新更新 2
我认为必须有一个单行的番石榴解决方案,用于将一个不可变列表转换为另一个不可变列表,但我找不到它。假设我们有以下对象:
ImmutableList<String> input = ImmutableList.of("a", "b", "c");
Function<String, String> function = new Function<String, String>() {
@Override
public String apply(String input) {
return input + input;
}
};
转换可以像这样实现:
Iterable<String> transformedIt = Iterables.transform(input, function);
ImmutableList<String> output = ImmutableList.<String>builder().addAll(transformedIt).build();
或者像这样:
List<String> transformedList = Lists.transform(input, function);
ImmutableList<String> output2 = ImmutableList.copyOf(transformedList);
但我认为,对于这种转换,一定有一个性能优化的单行线,没有中间对象,我就是找不到它。它在哪里?