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对比的算法的更多相关文章

  1. [转] 有关java中两个整数的交换问题

    转载申明:本文主要是用于自己学习使用,为了完善自己的只是框架,没有任何的商业目的. 原文来源:有关Java中两个整数的交换问题 如果侵权,麻烦告之,立刻删除. 在程序开发的过程,要交换两个变量的内容, ...

  2. Java中两个或多个byte数组合并及int类型转数组

    Java中两个或多个byte数组合并及int类型转数组 // 用list好处是可以未知多个? public static byte[] test(List<byte[]> values) ...

  3. JAVA 中两种判断输入的是否是数字的方法__正则化_

    JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengz ...

  4. Java中两种实现多线程方式的对比分析

    本文转载自:http://www.linuxidc.com/Linux/2013-12/93690.htm#0-tsina-1-14812-397232819ff9a47a7b7e80a40613cf ...

  5. Java中数组的几个常用算法:插入算法,删除算法,冒泡排序算法

    前言: 在Java中我们常常会用数组,提到数组就不得不介绍数组中常用到的几个算法. 有插入算法,删除算法,冒泡排序算法等. 在学习这几个数组的算法前,我们先来了解一下关于数组一些基本知识. 数组的基本 ...

  6. java中两个值互换

    两个值互换有以下三种方式: 使用临时变量(此种方法便于理解) x = 10; y = 20; //begin int temp = x; x = y; y = temp; //end; //此时x = ...

  7. 判断java中两个对象是否相等

    java中的基本数据类型判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false. 但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2 ...

  8. java中两种类型变量

    Java中有两种类型的变量,一种是对象类型,另一种是基础类型(primitive type). 对象类型普遍采用引用的方式,比如 List a = new ArrayList(); List b = ...

  9. [目录][总结] C++和Java 中的主要操作对比

    总结一些,C++ 和Java 中的一些常用操作对比,就当是自己的查询工具书啦.(暂时按随笔的更新时间排序) [Stack] c++ V.S. Java (2015.04.27) [Map]   c++ ...

随机推荐

  1. 两列布局,读《css那些事儿》

    两列布局: 1.两列定宽: 要点:float.width固定. :after清除浮动. 前提:两列的盒模型宽度相加不能大于父元素的宽度,否则会出现错位现象. <!DOCTYPE html> ...

  2. higncharts 编辑Highcharts.com链接

    credits: {             text: 'Example.com',             href: 'http://www.example.com'          }, 只 ...

  3. codeforce 611C New Year and Domino

    n*n预处理. 询问的时候用容斥,再删除边界. #include<cstdio> #include<cstring> #include<cmath> #includ ...

  4. dom操作js

    1.getElementById()//ie8下不区分大小写 getElementsByName()//name属性相比于Id可以不唯一,且其只在表单.表单元素.img .iframe中有用,返回一个 ...

  5. 我对hibernate的对象的3种状态的理解

    老师的说法 Hibernate中对象的状态    在Hibernate使用中,对象的状态有以下三种    a.临时对象 : 在程序中使用new方式创建的对象    b.持久对象 : 在程序中与sess ...

  6. USB自定义HID设备实现-LPC1768

    首先在之前鼠标的基础上修改设备描述符 #include "usbdesc.h" //usb标准设备描述符 const U8 USB_DeviceDescriptor[] = { U ...

  7. javascript(3)

    使用javascript改进链接 摘自<javascript基础教程> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...

  8. Android studio开多个窗口引起的问题

    1.clean 的时候,intermediates删不掉 2.出现:app:compile_DebugJavaWithJavac 没有具体错误 出现以上问题的时候只要把多余的删除,记得只留一个在当前窗 ...

  9. Spring学习---JPA学习笔记

    用了一段时间的Spring,到现在也只是处于会用的状态,对于深入一点的东西都不太了解.所以决定开始深入学习Spring. 本文主要记录JPA学习.在学习JPA之前,需要了解一些ORM的概念. ORM概 ...

  10. VS2010环境下用ANSI C创建DLL和使用方法(转)

    源:VS2010环境下用ANSI C创建DLL和使用方法 . 创建DLL工程 1.2 创建一个dll工程. 操作:a.文件->新建->项目->Win32控制台应用程序. b.输入工程 ...