Java中两个List对比的算法
2015-12-30 09:45
477 查看
Java中两个List对比的算法:
//测试数据
//tdcsDdt.add("Z");
//tdcsDdt.add("B");
//tdcsDdt.add("C");
//tdmsDdt.add("D");
//tdmsDdt.add("A");
//tdmsDdt.add("F");
//java中排序与SQL中排序不一致,需要按照java中的方式重排一下;
Collections.sort(tdcsDdt);
Collections.sort(tdmsDdt);
Stringsep="========";
Stringblank="";
System.out.println("==TDCS=="+ljpym+"==TDMS==");
//记录TDMS所在位置
intkMark=0;
for(intj=0,sizej=tdcsDdt.size();j<sizej;j++){
StringtdcsDdtStr=tdcsDdt.get(j);
//记录是否进入了循环,防止kMark==tdmsDdt.size()的时候多输出一行;
booleanisInxunhuan=false;
for(intk=kMark,sizek=tdmsDdt.size();k<sizek;k++){
isInxunhuan=true;
StringtdmsDdtStr=tdmsDdt.get(k);
if(tdmsDdtStr.compareTo(tdcsDdtStr)<0){
System.out.println(blank+sep+tdmsDdtStr);
kMark++;
}
if(tdmsDdtStr.compareTo(tdcsDdtStr)==0){
System.out.println(tdcsDdtStr+sep+tdmsDdtStr);
kMark++;
break;
}
if(tdmsDdtStr.compareTo(tdcsDdtStr)>0){
System.out.println(tdcsDdtStr+sep+blank);
break;
}
}
//如果tdmsDdt循环完毕,需要把tdcsDdt的继续输出
if(kMark-tdmsDdt.size()==0&&!isInxunhuan){
System.out.println(tdcsDdtStr+sep+blank);
}
}
for(intk=kMark,sizek=tdmsDdt.size();k<sizek;k++){
StringtdmsDdtStr=tdmsDdt.get(k);
System.out.println(blank+sep+tdmsDdtStr);
}
相关文章推荐
- 我读了struts文档
- Spring整合JMS(二)——三种消息监听器
- Play Framework 报错 java.sql.SQLException: Connection is closed!
- 集合
- eclipse 安装svn插件
- Java学习--最大公约数 && 最小公倍数
- Java设计模式_行为型_策略模式_工作还是休息
- Java中怎样将类对象自动排序,放入某个集合
- java转换unicode,筛选文件中的insert语句并把日期给转换为可以直接在数据库执行的语句
- FileUpload——在Struts2中上传文件
- Struts2常用标签
- Spring学习详解(1)——Spring入门详解
- Spring学习详解(1)——Spring入门详解
- JAVA加载外部资源库
- Spring整合JMS(一)——基于ActiveMQ实现
- Eclipse JAVA代码开发注释全解
- java使用的sqlite下载地址
- Struts
- Java IO vs NIO
- JAVA接口连接-jdk