List sumList=new ArrayList(); for(int i=0;i<10;i++){ //执行sql,获取一个包含10W个TxtClass对象 Sql1 = .....................100000; List tmpList = 10W个TxtClass对象; sumList.add(tmpList); } for(int i=0;i<10;i++){ //执行sql,获取一个包含10W个TxtClass对象 Sql2 = .....................100000; List tmpList = 10W个txtClass对象; sumList.add(tmpList); } int sumSize = sumList.size(); StringBuffer _sb = new StringBuffer(); List finalList=new ArrayList(); for(int i=0;i<sumSize;i++){ List tmpList = (List)sumList.get(i); int tmpSize = tmpList.size(); List finaTmplList=new ArrayList(); for(int j=0;j<sumSize;j++){ TxtClass tmpTxtClass = (TxtClass)tmpList.get(i); String strId = tmpTxtClass.getId(); _sb.append(strId+","); if(_sb.toString().indexOf(strId+",")<0){ //如果该ID从来没有存在过则用tmpTxtClass对象内容生成文件 writeFile(tmpTxtClass); finaTmplList.add(tmpTxtClass); } } finalList.add(finaTmplList); //最后再将合并的List当做对象传给其他方法 xxxClass.xxxMethod(finalList); }