我有一個類如下。使用lambda表達式來總結成員變量?
public class Votes{
String name;
int likes;
int dislikes;
//constructors, getters and setters
}
我有一個如下列表。
List<Votes> votesList;
假設我用一些元素填充上面的列表。我想聲明一個在該列表中執行分組和求和操作的方法。
作爲一個例子,假設我在列表中爲該方法提供了以下元素作爲input
。
votesList.add(new Votes("A", 10, 5));
votesList.add(new Votes("B", 15, 10));
votesList.add(new Votes("A", 20, 15));
votesList.add(new Votes("B", 10, 25));
votesList.add(new Votes("C", 10, 20));
votesList.add(new Votes("C", 0, 15));
該方法應輸出List<Votes>
具有下列元素。
("A", 30, 20),
("B", 25, 35),
("C", 10, 35)
是否有一種簡單的方法可以在Java8中使用流,lambda表達式來實現這一點?我知道如何使用collectors
來完成,如果我只有一個int
成員。
有人可以請解釋我如何解決這種情況?
你必須寫你自己的收藏家。 https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collector.html#of-java.util.function.Supplier-java.util.function.BiConsumer-java.util。 function.BinaryOperator-java.util.stream.Collector.Characteristics ...- –
@MarkoTopolnik我非常感謝,如果你能闡述一個答案。 :)) –
@MarkoTopolnik你能給我一個關於我的答案的評論。 :))有什麼方法可以改進? –