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. Android Studio实现Service AIDL

    Android Studio实现Service AIDL [日期:2015-01-02] 来源:Linux社区  作者:teenyboy [字体:大 中 小]       今天要开发过程中要用到AID ...

  2. Enterprise Architect与startUML表示UML常用图

    转自:http://www.cnblogs.com/alexlee73/archive/2011/11/05/2237294.html 附下载地址:http://download.csdn.net/d ...

  3. git查看每个版本间的差异

    命令行: 1,git log: 2,git diff 版本号码 窗口类型: 1,sudo apt-get install gitk 2,gitk

  4. 猜数游戏-flag的运用

    package my;import java.util.Scanner;public class MyJava {        public static void main(String[] ar ...

  5. [数据结构]Treap简介

    [写在前面的话] 如果想学Treap,请先了解BST和BST的旋转 二叉搜索树(BST)(百度百科):[here] 英文好的读者可以戳这里(维基百科) 自己的博客:关于旋转(很水,顶多就算是了解怎么旋 ...

  6. Python+Selenuim测试网站,只能打开Firefox浏览器却不能打开网页的解决方法

    最开始我使用的Selenium版本为2.48,Firefox版本为37,自动化打开网站的时候,可以正常打开. 后来由于Firefox的自检测更新,版本更新为47,导致版本不兼容,自动化打开网站浏览器时 ...

  7. Mysql的MySqlDataReader对于MysqlConnection是独占式

    写Secondlife智能体的知识系统小插件的时候遇到的这个问题. 在把某个NPC的全部知识复制给另一个NPC的时候,对数据库操作,为了提升一点效率希望与数据库建立一次连接,全部添加进表以后再断开连接 ...

  8. FragmentTabHost+FrameLayout实现底部菜单栏

    现在一般的app都使用底部菜单栏,那具体怎么实现的呢!我们就来看看 首先给大家展示一下布局文件 1 <LinearLayout xmlns:android="http://schema ...

  9. c#中怎么求百分比

    string Scorepercent = (lowScoreNum*1.0/ ScoreNum).ToString("P");//百分比 ToString("P&quo ...

  10. ios 闪屏页的设置

    ref:http://blog.csdn.net/bianruifeng/article/details/8746549