美文网首页
关于集合中取符合条件的出现的最早的记录的解决方法

关于集合中取符合条件的出现的最早的记录的解决方法

作者: 一曲无忆 | 来源:发表于2019-09-27 09:21 被阅读0次

    问题:我有一个list列表,每个对象里面存有一些字段,这些对象中有mobile相同,但是create_time不相同的,我想保留时间靠前的那条数据,其它的干掉,怎么做比较好?

    1、首先想到的是先使用stream来对集合进行分组处理,把mobile相同的放在一个集合中并按时间排序,然后再次对Map集合进行一次循环,取集合中的第一个,这样把所有集合中第一个取出后就获得了你当前需要的一个集合。

    2、想了很久,用上面这种方法的处理效率太低,而且数据量大之后,耗费的资源和时间较多,所以放弃了这种方法。我的目光转移到了group by这个方法上,在sql中,对所查的数据进行一次group by之后,只会出现一条符合该条件的数据,所以我尝试查询了一下,果然在对时间进行顺序排序后,group by最终给出的是第一次出现的一条数据,特此记录。

    ps:还可以尝试使用distinct,这种方法也可行

    相关文章

      网友评论

          本文标题:关于集合中取符合条件的出现的最早的记录的解决方法

          本文链接:https://www.haomeiwen.com/subject/ztyouctx.html