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. PAT (Advanced Level) 1092. To Buy or Not to Buy (20)

    简单题. #include<cstdio> #include<cstring> ; char s1[maxn],s2[maxn]; ]; ]; int main() { sca ...

  2. HDU 5176 The Experience of Love 带权并查集

    The Experience of Love Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  3. Selenium IDE安装

    1. 网上下载firefox30版本 http://www.9ht.com/xz/78637.html#addressWrap Selenium IDE 2.9.0下载   http://www.pc ...

  4. HDU 2859 Phalanx

    简单二维dp.o(n^3)效率过的.不知道有没有o(n^2)的解法. 为了方便点,先左右交换一下. dp[i][j]表示以[i,j]为左上角的最大对称矩阵长度 那么dp[i][j]=min(Max,d ...

  5. C# 6.0 11个新特性

    1. 静态using(static using) 静态using声明允许不使用类名直接调用静态方法. The static using declaration allows invoking stat ...

  6. 用于辅助在 bootstrap-dialog 中的表现:app-jquery-dialog.js

    // 用于通某个元素共享配置数据 $.extend($.fn, { formOption : function(showOpt) { var opt = $.data(this[0], "f ...

  7. javascript之日期对象

    学习要点: 日期对象 将日期对象转换为字符串 将日期对象中的日期和时间转换为字符串 日期对象中的日期 日期对象中的时间 设置日期对象中的日期 设置日期对象中的时间 与毫秒相关的方法 一.日期对象 在j ...

  8. (中等) HDU 1828 Picture,扫描线。

    Problem Description A number of rectangular posters, photographs and other pictures of the same shap ...

  9. truetype技术和矢量字库的技术原理及实现(转)

    源:truetype技术和矢量字库的技术原理及实现 广泛汉字矢量字库(HZKSLxxJ)格式             在矢量字库中,每个汉字都是以128   X   128点阵制成矢量数据.每个汉字  ...

  10. iOS开发使用MJRefresh进行刷新

    1.将MJRefresh下载后,拖进项目 MJRefresh地址: https://github.com/CoderMJLee/MJRefresh 2.添加头文件 #import "MJRe ...