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/48585678/

相关文章:

java - 在Java中使用正则表达式实现简单的字符串匹配

c# - 尝试将代码块从 C# 转换为 Java (Android)

python - 为什么迭代生成嵌套列表不会删除内部列表

python - 如何将多个整数列表转换为单个整数?

android - 如何获取我点击的列表项数据?

javascript - 为什么将字符串 'prototype' 分配给一个变量然后用它来设置对象的原型(prototype)?

java - 所有 JUnit 测试运行后的清理

Javamail 消息,在文件夹以只读模式打开时设置为可见?

javascript - 迭代对象并过滤给定属性 javascript 中给定的特定值

windows - 如何从命令行添加/更新 MSI 内的属性?