有三个list  wapList smsList mmsList
list都是map map<String,double>String主要是cid现在要循环出来cid sms mms wap 和总收入 的值
一般做法
for(Map wapMap:wapList){
 String wapCid=String.valueOf(wapMap.get("CID");
   for(Map smsMap:smsList){
     String smsCid=String.valueOf(smsMap.get("CID");
      if(wapCid.equals()){
        for(Map mmsMap:mmsList){
           String mmsCid=String.valueOf(mmsMap.get("CID");
        }
      }
   }

解决方案 »

  1.   

    如果真要考虑效率,就不要用map
    用数组或普通list用Map<String,Integer>保存"CID"对应的下标,一次取出下标后就可以从数组中得到了
      

  2.   

    我知道得只能用内存得形式去考虑FOR得效率
    比如二维数组,a[5][6]
    提供两种遍历得形式
    for (int i = 0; i < 5; i ++) {
        for (int j = 0; j < 6; j ++) {
             输出a[i][j]
        }
    }for (int i = 0; i < 6; i ++) {
        for (int j = 0; j < 5; j ++) {
             输出a[j][i]
        }
    }
    两种方式,谁得效率高?  由于二维数组是顺序存放的,当然是顺序遍历得快,但是第二种确实按列遍历,就是再寻找下一个元素时,会跳着查找,效率明显降低。
      

  3.   

    这样遍历好些吧!
    String keys[] = Map.getKeys();
    然后通过遍历keys完成你的遍历。