關(guān)于集合中取符合條件的出現(xiàn)的最早的記錄的解決方法

問(wèn)題:我有一個(gè)list列表,每個(gè)對(duì)象里面存有一些字段,這些對(duì)象中有mobile相同,但是create_time不相同的,我想保留時(shí)間靠前的那條數(shù)據(jù),其它的干掉,怎么做比較好?

1、首先想到的是先使用stream來(lái)對(duì)集合進(jìn)行分組處理,把mobile相同的放在一個(gè)集合中并按時(shí)間排序,然后再次對(duì)Map集合進(jìn)行一次循環(huán),取集合中的第一個(gè),這樣把所有集合中第一個(gè)取出后就獲得了你當(dāng)前需要的一個(gè)集合。

2、想了很久,用上面這種方法的處理效率太低,而且數(shù)據(jù)量大之后,耗費(fèi)的資源和時(shí)間較多,所以放棄了這種方法。我的目光轉(zhuǎn)移到了group by這個(gè)方法上,在sql中,對(duì)所查的數(shù)據(jù)進(jìn)行一次group by之后,只會(huì)出現(xiàn)一條符合該條件的數(shù)據(jù),所以我嘗試查詢(xún)了一下,果然在對(duì)時(shí)間進(jìn)行順序排序后,group by最終給出的是第一次出現(xiàn)的一條數(shù)據(jù),特此記錄。

ps:還可以嘗試使用distinct,這種方法也可行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容