Java - 将对象列表映射到具有其属性属性值的列表

标签 java list properties

我的 ViewValue 类定义如下:

class ViewValue {

private Long id;
private Integer value;
private String description;
private View view;
private Double defaultFeeRate;

// getters and setters for all properties
}

在我的代码中,我需要将 ViewValue 实例列表转换为包含来自相应 ViewValue 的 id 字段值的列表。

我使用 foreach 循环来做:

List<Long> toIdsList(List<ViewValue> viewValues) {

   List<Long> ids = new ArrayList<Long>();

   for (ViewValue viewValue : viewValues) {
      ids.add(viewValue.getId());
   }

   return ids;

}

有没有更好的方法来解决这个问题?

最佳答案

我们可以使用 java 8 在一行代码中完成它

List<Long> ids = viewValues.stream().map(ViewValue::getId).collect(Collectors.toList());

更多信息: Java 8 - Streams

关于Java - 将对象列表映射到具有其属性属性值的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/737244/

相关文章:

数组包含区域的 Python 算法(图)

java - 如何读取属性文件?

java - 如何打印一个字符一定次数?

java - 使用synchronizedCollection和仅使用synchronized(集合)有什么区别?

java - Netty - 如何最好地为具有大量 POJO 的桌面应用程序构建客户端/服务器

asp.net-mvc - 未在 View 中使用的 MVC 2 模型属性返回为 null 或空

Android TextView 启用 LinkiFy 和 Href 标签

java - Gradle 3.3 和最新的构建工具

list - 减少 Common Lisp 中的循环列表

python - 将列表写入 pandas 数据帧到 csv,从 csv 读取数据帧并再次转换为列表而无需字符串