快速(而且很可能是)简单的问题。
给出以下List<Job>
:
Job(requesterId: 1, offer: 100)
Job(requesterId: 1, offer: 150)
Job(requesterId: 1, offer: 200)
Job(requesterId: 2, offer: 100)
Job(requesterId: 3, offer: 100)
Job(requesterId: 3, offer: 110)
我希望能够基于requesterId
以及最高offer
来过滤其重复项,以便最终得到一个List<Job>
,其中每个{ {1}}像这样:
requesterId
任何帮助将不胜感激!
谢谢
答案 0 :(得分:3)
val sortedList = list
.groupBy { it.requesterId }
.map { it.value.maxBy { it.offer } }