多个List集合,每个集合里面放了多个对象,对象上有时间和值2个字段,如何把多个集合加在一起处理为一个集合,就是把相同时间的值相加,不要采用循环的方式,数据多很了的话循环起来很慢。影响速度和性能的。求高手指点哈。

解决方案 »

  1.   

    楼主又是你,我在你百度知道上回答了。那个放到Map里的想法Map<Date,int> 你放的时候,先根据时间取一下里面的值,如果取到就加,取不到就放进去,最后再把所有的拿出来就可以了。
    如果数量巨大的话,还是依靠数据库吧。
      

  2.   

    不用循环你怎么去List中的数据
      

  3.   

    这个时间复杂度是2n啊,放的时候循环一次,从Map里取的时候再遍历一次,比直接循环快多了啊。还有楼上说数据结构变了的,你真没理解我的意思。我是说以一个MAP为容器,先把值都放进Map里,然后再取出来放到一个List里,怎么数据结构变了?
      

  4.   

    1楼的思路是正确的,要将所有数据相加,肯定要遍历集合里面的所有元素,这肯定要用到循环的。至于循环的效率,推荐用ArrayList,因为相对于其他集合,ArrayList集合对遍历元素的效率较高!