有一个Student的实体javabean, Student有两个属性分别是id,name 
有一个List里面存了几十万个Student 写一段代码将id相同的Student对象找出来,并打印在控制台.重点考虑程序效率 请问怎么做最好 

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【cuiyunshow】截止到2008-07-02 10:49:03的历史汇总数据(不包括此帖):
    发帖的总数量:4                        发帖的总分数:80                       
    结贴的总数量:4                        结贴的总分数:80                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    把你的list的内容插入数据库
    group by 一下
      

  3.   

    list的来源如果是数据库的话。
      

  4.   

    主要是java代码迭带筛选时怎么写,可以让效率更高些
      

  5.   

    虑一下重。再把list放在session中,用到的时候去取。这样就不用再去数据库中取了,提高效率。但记得涉及增、删、改操作要及时更新session中维护的list
      

  6.   

    lista   listb
    把 lista 取一个c放入到 listb中
    遍历lista 寻找有没有与c相同的 ,有的话重复删除lista的c,没有的话删除lista的c listb的c
      

  7.   

    lista  listb 
    把 lista 取一个c放入到 listb中 
    遍历lista 寻找有没有与c相同的 ,有的话删除lista的c继续,没有的话删除lista的c listb的c继续 
      

  8.   

    list 能放那么多数据吗?怀疑!
      

  9.   

    用Collections里的排序和查找方法,应该满足基本需求了
    如果要更好的效率,可能你就要改存储方案了,List应该是不行了
      

  10.   

    自己写个类去实现 java.util.Comparator 类怎么样,应该会好点吧
      

  11.   

    如果你用Collections的方法的话你就不用自己把List转成数组,
    因为Collections的方法会帮你做这件事的
      

  12.   

    你要么写个新类实现 java.util.Comparator 
    或者让你的Student类实现Comparable
      

  13.   

    不要乱说!!!
    几十万的的数据放在session里,有没有搞错!
      

  14.   

    这也不一定的,我看他Student类就id和name两个域,
    所以单独一个类应该不会很大,50byte差不多了,就算100万数据量也不会超过50M,一般服务器应该没问题的
    而且这个数据应该会是全局共享的,所以就当是做成内存数据库吧,可以的,至少我觉得可以
      

  15.   

    HashMap  是否能够满足你的需求能
      

  16.   

    list存取数据是没有限制的,只是java虚拟机使用内存的默认太小是128M,大概list存到2-3w条就提示错误了,把java虚拟机的内存改大一点就可以了。
      

  17.   

    第一种可以如5楼那样利用一个SESSION,第二种我觉得可以在加一个索引这样就要快得多。