使用较少的Li归档创建新的Java Java列表

时间:2017-11-08 06:00:05

标签: java

让我们说我有对象书

class Book
{
   String name;
   String bookId;
   String author;
}

我的getBooks将返回一个书籍列表(来自不同的图层),但是带有包含name,_id,_date,Auth等字段的对象

我需要创建一个带有书籍的新列表,但只有少量字段,并且还映射为不同的字段名称。仅需要名称,_id和auth作为名称,bookId,作者。 我知道我们可以通过迭代来实现它,但是用最少的步骤来实现它的最佳方法是什么。使用java 1.8

1 个答案:

答案 0 :(得分:1)

您可以使用Dozer来实现此目的。您可以定义需要从一个映射到另一个的字段,还可以定义如何使用Dozer映射。

或者如果你想用流解决

    CollectionType mappedCollection = yourCollectionToMap.stream().map(b -> {
    MappingBookClass newBook = new MappingBookClass ();
    //set values needed
    newBook .setName(b.getName());
    ...
    ...
return newBook;
    }).collect(Collectors.toList());