用Java汇总列表的字段

时间:2015-11-24 15:03:47

标签: java

我想了解如何在Java中汇总项目列表的字段。

我们说我有这段代码:

Person p1 = new Person("someone", 13, 1.55);
Person p2 = new Person("Jack", 14, 1.39);
Person p3 = new Person("John", 10, 1.39);

List<Person> personsList = Arrays.asList(p1, p2, p3);

我尝试像这样获得sum,但它不起作用:

int sum = personsList.sum(p[2]);

2 个答案:

答案 0 :(得分:8)

  

我试过这样的总和,但它不起作用:

int sum = personsList.sum(p[2]);

使用sum的语法不同:

int sum = lst.stream().mapToInt(p -> p.getProp2()).sum();

其中getProp2()是您希望求和的int属性的getter的名称。

答案 1 :(得分:2)

假设第二个参数是age,并且你有一个返回Person类的int getAge()方法,你可以使用流API:

int sum = personsList.stream().mapToInt( Person::getAge ).sum();