我是 Java 新手,所以请耐心等待。
将列表映射(转换)为列表是很常见的。有些语言有 map
方法,有些 (C#) Select
。这是如何用 Java 完成的? for
循环是唯一的选择吗?
我希望能够做这样的事情:
List<Customer> customers = new ArrayList<Customer>();
...
List<CustomerDto> dtos = customers.convert(new Converter(){
public convert(c) {
return new CustomerDto();
}
})
我错过了什么?请给我一个起点。
最佳答案
在 Java 中没有执行此操作的内置方法 - 您必须编写或使用辅助类。 Google Collections包括
public static <F,T> List<T> transform(List<F> fromList,
Function<? super F,? extends T> function)
这很好用,但使用起来有点笨拙,因为您必须使用单方法匿名类和静态方法。这不是 Google Collections 的错,这只是在 Java 中执行此类任务的本质。
请注意,这会根据需要延迟转换源列表中的项目。
关于java - 在 Java 中将一个列表映射到另一个列表的最优雅的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/864315/