当前位置: 首页 > 知识库问答 >
问题:

使用Java8将List转换为新对象V

赖杰
2023-03-14

我有V类的对象列表,我想创建一个相同V类的新对象。List中对象的一些属性在列表中是相同的,一些属性具有不同的值。我想创建新的对象V,它们具有公共属性,并且具有不同值的属性应该被求和并设置为对象V。

例如

Class Sample {
    Integer someId; // which is not unique
    String someString; // Not unique
    Date date;
    BigDecimal value;
}

我有如下列表。

Sample s1 = new Sample(1, "1", 20151231, 10.10);
Sample s2 = new Sample(1, "1", 20151231, 20.10);

我想要新的Sample对象,其值为

new Sample(1, "1", 20151231, 10.10 + 20.10);

我怎样才能做到这一点?

共有1个答案

孟雪风
2023-03-14

像这样的东西

public static void main(String... args) {
    Sample s1 = new Sample(1, "1", Calendar.getInstance().getTime(), new BigDecimal(10.10));
    Sample s2 = new Sample(1, "1", Calendar.getInstance().getTime(), new BigDecimal(20.20));

    List<Sample> samples = new ArrayList<>();
    samples.add(s1);
    samples.add(s2);



    Optional<Sample> result = samples.stream().reduce((sa1,sa2)->new Sample(1, "1", Calendar.getInstance().getTime(),sa1.getValue().add(sa2.getValue())));
    System.out.println(result.get());
}
 类似资料:
  • 我有这个: 我想把这个(String类型的列表)直接投射到新的(类型)上,但不知道如何?

  • 问题内容: 我有一个列表,我需要使用GSON将其转换为JSON对象。我的JSON对象中包含JSON数组。 以下是我的代码,其中我需要将列表转换为其中具有JSON数组的JSON对象- 到目前为止,列表中只有两项-所以我需要这样的JSON对象- 做这个的最好方式是什么? 问题答案: 如果在您的方法中为,则应进行序列化。 这将为您提供所需的JSON输出。

  • 我有以下几门课: 我有一个a的列表,我想将其转换为具有以下逻辑的映射: 在一行流方法中做它的最好方法是什么? 谢谢Elad

  • 我有我想分批处理的编号列表。

  • 我想将列表转换为映射,如下所示。下面是一个例子。 我有学生列表类似下面的代码片段。从其中得到一个Hasmap,其中Key为Integer(也就是年龄),value为list。 映射[[10,{1}],[20,{2,3,4}],[30,{5}].[40,{6}]]; 提前致谢.......!

  • 我想将以下字符串作为json发布到服务器。 {“FirstName”:“John”,“LastName”:“Smith”},{“FirstName”:“John”,“LastName”:“Smith”} 但是如果我使用下面的代码,我会得到json对象的数组列表。 输出: [{"FirstName":"John","LastName":"Smith" }, { "FirstName":"John",