1
有誰知道如何簡潔地編寫一個java 8類型的獨特函數來通過用戶點擊列表進行流式處理,並使不同(基於url),但保留具有較晚時間戳的函數?Java 8.對象列表。想要根據規則保留區分屬性
action=click, url=www.google.com, timestamp=10
action=click, url=www.google.com, timestamp=20
action=click, url=www.abc.com/123, timestamp=10
action=click, url=www.grassisgreener.com, timestamp=10
action=click, url=www.grassisgreener.com, timestamp=46
最終的結果應該是
action=click, url=www.google.com, timestamp=20
action=click, url=www.abc.com/123, timestamp=10
action=click, url=www.grassisgreener.com, timestamp=46
合併函數相當於'BinaryOperator.maxBy(Comparator.comparingLong(X :: getTimestamp))',其中'X'是項目的類型,與'import static'相比更加簡潔... – Holger
替代方案將'groupingBy(X :: getUrl,collectAndThen(maxBy(comparatorLong(X :: getTimestamp)),Optional :: get))'顯然遭受'maxBy'產生'Optional',儘管我們知道組永遠不會是空的... – Holger
感謝Holger。那些工作也是。 –