java-从另一个列表的子属性创建一个列表

亚历克斯

我通过ORM如下定义了三个用其getter和setter定义的类:

class Author {
  Integer id;
  String name;
}

class BookAuthor {
  Integer id_book;
  Author author;
}

class Book {
  String title;
  List<BookAuthor> authors;
}

我想从Book类创建一个id_author列表。我发现一种方法是使用流。我已经试过了:

List<Integer> result = authors.stream().map(BookAuthor::getAuthor::getId).collect(Collectors.toList());

但这似乎行不通。我可以访问Author类中的“ id”属性吗?

编辑:也许一种方法是:

List<Author> authorList = authors.stream().map(BookAuthor::getAuthor).collect(Collectors.toList());
List<Integer> result = authorList.stream().map(Author::getId).collect(Collectors.toList());

谢谢你。

Zyga

我假设authors变量是BookAuthor的列表(或集合),而不是Author(根据您的代码看起来像什么)。

我认为您有一个正确的主意,我只是认为您不能连锁::运营商。

因此,请尝试使用lambda:

authors.stream().
     map(ba -> ba.getAuthor().getId()).
     collect(Collectors.toList());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java:从另一个数组的属性创建一个数组

来自分类Dev

Java流:将一个对象的列表转换为另一个

来自分类Dev

循环多个不同类型的列表并使用 java 8 lambda 表达式创建另一个列表

来自分类Dev

基于用java从列表中另一个属性重复属性中删除元素8

来自分类Dev

如何比较两个java sql日期,一个在列表中,另一个刚刚输入

来自分类Dev

编写Java谓词以将列表与另一个列表进行比较

来自分类Dev

通过使用Java比较另一个列表排序对象列表

来自分类Dev

如何在Java中将列表追加到另一个列表

来自分类Dev

使用 Java 8 中的另一个列表过滤对象列表

来自分类Dev

在Java中创建Xpath以基于另一个属性值选择一个属性值

来自分类Dev

Java流-验证列表中的至少一个元素是否包含在另一个元素中

来自分类Dev

如何获得的,从Java中的一个给定的方法称为另一个类中定义的方法列表

来自分类Dev

转换Java列表到另一个使用Java流

来自分类Dev

使用Java流过滤器获取一个列表中不属于另一个列表的对象的列表

来自分类Dev

Java - 迭代两个列表,比较然后添加到另一个列表

来自分类Dev

如果一个键在Java中多次出现,则将一个值作为键,将另一个值作为列表进行映射

来自分类Dev

在另一个线程读取它时更改Java列表引用

来自分类Dev

如何使数组列表在另一个类java中被调用

来自分类Dev

返回另一个[JAVA / ANDROID]中未包含的元素的列表

来自分类Dev

Java - 无法访问另一个类中的数组列表

来自分类Dev

在Java中将属性从一个类传递到另一个+实例

来自分类Dev

从一个属性文件获取值到另一个(JAVA)

来自分类Dev

Java创建一个使用另一个ArrayList的数字的随机ArrayList <Integer>

来自分类Dev

你如何创建一个使用另一个类的变量的java对象?

来自分类Dev

如何创建一个使用Java数组的列表

来自分类Dev

Java 8惯用方式将Lambda应用于返回另一个列表的列表?

来自分类Dev

如何在Java 8中迭代对象数组列表并设置为另一个对象列表?

来自分类Dev

如何使用Java Comparator接口参照具有ID的另一个列表对对象列表进行排序

来自分类Dev

从另一个列表中删除带有条件的嵌套列表中的元素-Java 8

Related 相关文章

  1. 1

    Java:从另一个数组的属性创建一个数组

  2. 2

    Java流:将一个对象的列表转换为另一个

  3. 3

    循环多个不同类型的列表并使用 java 8 lambda 表达式创建另一个列表

  4. 4

    基于用java从列表中另一个属性重复属性中删除元素8

  5. 5

    如何比较两个java sql日期,一个在列表中,另一个刚刚输入

  6. 6

    编写Java谓词以将列表与另一个列表进行比较

  7. 7

    通过使用Java比较另一个列表排序对象列表

  8. 8

    如何在Java中将列表追加到另一个列表

  9. 9

    使用 Java 8 中的另一个列表过滤对象列表

  10. 10

    在Java中创建Xpath以基于另一个属性值选择一个属性值

  11. 11

    Java流-验证列表中的至少一个元素是否包含在另一个元素中

  12. 12

    如何获得的,从Java中的一个给定的方法称为另一个类中定义的方法列表

  13. 13

    转换Java列表到另一个使用Java流

  14. 14

    使用Java流过滤器获取一个列表中不属于另一个列表的对象的列表

  15. 15

    Java - 迭代两个列表,比较然后添加到另一个列表

  16. 16

    如果一个键在Java中多次出现,则将一个值作为键,将另一个值作为列表进行映射

  17. 17

    在另一个线程读取它时更改Java列表引用

  18. 18

    如何使数组列表在另一个类java中被调用

  19. 19

    返回另一个[JAVA / ANDROID]中未包含的元素的列表

  20. 20

    Java - 无法访问另一个类中的数组列表

  21. 21

    在Java中将属性从一个类传递到另一个+实例

  22. 22

    从一个属性文件获取值到另一个(JAVA)

  23. 23

    Java创建一个使用另一个ArrayList的数字的随机ArrayList <Integer>

  24. 24

    你如何创建一个使用另一个类的变量的java对象?

  25. 25

    如何创建一个使用Java数组的列表

  26. 26

    Java 8惯用方式将Lambda应用于返回另一个列表的列表?

  27. 27

    如何在Java 8中迭代对象数组列表并设置为另一个对象列表?

  28. 28

    如何使用Java Comparator接口参照具有ID的另一个列表对对象列表进行排序

  29. 29

    从另一个列表中删除带有条件的嵌套列表中的元素-Java 8

热门标签

归档