Мне нужно удалить идентификаторы спецификаций из списка.
Чтобы лучше объяснить, у меня есть список документов, который содержит составные строки, которые являются идентификаторами. Эти идентификаторы состоят из пары целых чисел, разделенных знаком "-".
Идея состоит в том, чтобы удалить из этого списка идентификаторов все те, которые содержат одну и ту же первую часть. строки И сохраняйте только самые большие из них. То есть, если у меня есть список документов со следующим выводом:
"documentId": "521-1"
"documentId": "521-2"
"documentId": "32-2"
"documentId": "112-6"
"documentId": "112-11"
"documentId": "112-2"
Результат должен быть следующим:
"documentId": "521-2"
"documentId": "112-11"
"documentId": "32-2"
Я пытался сделать это с помощью потоков, но не вижу способа. Я просматриваю список, но, поскольку это составные идентификаторы, я не знаю, как проводить сравнения и сохранять наименьшие из них.
Мой псевдокод, который не работает :
object.getDocuments().stream().reduce((a, b)->{
if(a.getFirstPart().equals(b.getFirstPart())){
//Then I should remove the small secondPart
} return b;});
Подробнее здесь: https://stackoverflow.com/questions/737 ... th-lambdas