У меня есть поток объектов Foo.
class Foo {
private int variableCount;
public Foo(int vars) {
this.variableCount = vars;
}
public Integer getVariableCount() {
return variableCount;
}
}
Мне нужен список Foo
, у которого все самые низкие переменные.
Например
new Foo(3), new Foo(3), new Foo(2), new Foo(1), new Foo(1)
Я хочу, чтобы поток возвращал последние 2 Foo
Я попытался сделать сбор с группировкой
.collect(Collectors.groupingBy((Foo foo) -> {
return foo.getVariableCount();
})
И это возвращает Map<Integer, List<Foo>>
и я не уверен, как преобразовать это в то, что я хочу.
заранее спасибо