Начальная точка:
public class Employee {
private String id;
private String name;
private String age;
}
У меня есть список сотрудников: List<Employee> employee;
Примеры сотрудников из списка:
{id="1", name="John", age=10}
{id="2", name="Ana", age=12}
{id="3", name="John", age=23}
{id="4", name="John", age=14}
Предположим, что age
уникален.
Как удалить все дубликаты из списка на основе свойства name
и сохранить в выходных данных запись с наибольшим значением age
?
Выходные данныедолжен выглядеть так:
{id="2", name="Ana", age=12}
{id="3", name="John", age=23}
Как я пытался :
HashSet<Object> temp = new HashSet<>();
employee.removeIf(e->!temp.add(e.getName()));
.. но таким образом первый матч будет сохранен в employee
{id="1", name="John", age=10}
{id="2", name="Ana", age=12}
... и я понятия не имею, как поставить еще одно условие, чтобы сохранить с наибольшим age
.