使用ArrayList构造函数创建List的转换副本

时间:2015-02-23 01:32:45

标签: java collections

我不知道你们怎么称呼它,但有可能写出类似的东西吗?只有这两行。

List<Celsius> listOfCelsiuses = new ArrayList<>();
List<Fahrenheit> listOfFahrenheits = new ArrayList<>(listOfCelsiuses);

它基本上需要一个celsiuses列表并返回一个华氏列表。但是我应该在哪里实现转换逻辑?

1 个答案:

答案 0 :(得分:6)

在java 8中,这是Stream和map调用的候选者:

List<Celsius> celsius;
final List<Fahrenheit> fahrenheit = celsius.stream()
                                           .map(c -> convert(c))
                                           .collect(Collectors.toList());

private static Fahrenheit convert(Celsius c) {

在jre 8之前,你可以使用Gauva的Lists.transformFunction进行转换。