Java中两个List对比的算法
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);
String sep = "========";
String blank = " ";
System.out.println("==TDCS==" + ljpym + "==TDMS==");
// 记录TDMS所在位置
int kMark = 0;
for (int j = 0, sizej = tdcsDdt.size(); j < sizej; j++) {
String tdcsDdtStr = tdcsDdt.get(j);
// 记录是否进入了循环,防止kMark==tdmsDdt.size()的时候多输出一行;
boolean isInxunhuan = false;
for (int k = kMark, sizek = tdmsDdt.size(); k < sizek; k++) {
isInxunhuan = true;
String tdmsDdtStr = 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 (int k = kMark, sizek = tdmsDdt.size(); k < sizek; k++) {
String tdmsDdtStr = tdmsDdt.get(k);
System.out.println(blank + sep + tdmsDdtStr);
}
Java中两个List对比的算法的更多相关文章
- [转] 有关java中两个整数的交换问题
转载申明:本文主要是用于自己学习使用,为了完善自己的只是框架,没有任何的商业目的. 原文来源:有关Java中两个整数的交换问题 如果侵权,麻烦告之,立刻删除. 在程序开发的过程,要交换两个变量的内容, ...
- Java中两个或多个byte数组合并及int类型转数组
Java中两个或多个byte数组合并及int类型转数组 // 用list好处是可以未知多个? public static byte[] test(List<byte[]> values) ...
- JAVA 中两种判断输入的是否是数字的方法__正则化_
JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengz ...
- Java中两种实现多线程方式的对比分析
本文转载自:http://www.linuxidc.com/Linux/2013-12/93690.htm#0-tsina-1-14812-397232819ff9a47a7b7e80a40613cf ...
- Java中数组的几个常用算法:插入算法,删除算法,冒泡排序算法
前言: 在Java中我们常常会用数组,提到数组就不得不介绍数组中常用到的几个算法. 有插入算法,删除算法,冒泡排序算法等. 在学习这几个数组的算法前,我们先来了解一下关于数组一些基本知识. 数组的基本 ...
- java中两个值互换
两个值互换有以下三种方式: 使用临时变量(此种方法便于理解) x = 10; y = 20; //begin int temp = x; x = y; y = temp; //end; //此时x = ...
- 判断java中两个对象是否相等
java中的基本数据类型判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false. 但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2 ...
- java中两种类型变量
Java中有两种类型的变量,一种是对象类型,另一种是基础类型(primitive type). 对象类型普遍采用引用的方式,比如 List a = new ArrayList(); List b = ...
- [目录][总结] C++和Java 中的主要操作对比
总结一些,C++ 和Java 中的一些常用操作对比,就当是自己的查询工具书啦.(暂时按随笔的更新时间排序) [Stack] c++ V.S. Java (2015.04.27) [Map] c++ ...
随机推荐
- 两列布局,读《css那些事儿》
两列布局: 1.两列定宽: 要点:float.width固定. :after清除浮动. 前提:两列的盒模型宽度相加不能大于父元素的宽度,否则会出现错位现象. <!DOCTYPE html> ...
- higncharts 编辑Highcharts.com链接
credits: { text: 'Example.com', href: 'http://www.example.com' }, 只 ...
- codeforce 611C New Year and Domino
n*n预处理. 询问的时候用容斥,再删除边界. #include<cstdio> #include<cstring> #include<cmath> #includ ...
- dom操作js
1.getElementById()//ie8下不区分大小写 getElementsByName()//name属性相比于Id可以不唯一,且其只在表单.表单元素.img .iframe中有用,返回一个 ...
- 我对hibernate的对象的3种状态的理解
老师的说法 Hibernate中对象的状态 在Hibernate使用中,对象的状态有以下三种 a.临时对象 : 在程序中使用new方式创建的对象 b.持久对象 : 在程序中与sess ...
- USB自定义HID设备实现-LPC1768
首先在之前鼠标的基础上修改设备描述符 #include "usbdesc.h" //usb标准设备描述符 const U8 USB_DeviceDescriptor[] = { U ...
- javascript(3)
使用javascript改进链接 摘自<javascript基础教程> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...
- Android studio开多个窗口引起的问题
1.clean 的时候,intermediates删不掉 2.出现:app:compile_DebugJavaWithJavac 没有具体错误 出现以上问题的时候只要把多余的删除,记得只留一个在当前窗 ...
- Spring学习---JPA学习笔记
用了一段时间的Spring,到现在也只是处于会用的状态,对于深入一点的东西都不太了解.所以决定开始深入学习Spring. 本文主要记录JPA学习.在学习JPA之前,需要了解一些ORM的概念. ORM概 ...
- VS2010环境下用ANSI C创建DLL和使用方法(转)
源:VS2010环境下用ANSI C创建DLL和使用方法 . 创建DLL工程 1.2 创建一个dll工程. 操作:a.文件->新建->项目->Win32控制台应用程序. b.输入工程 ...