zoukankan      html  css  js  c++  java
  • 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);
                    }
  • 相关阅读:
    Javascript常用代码
    Node.cluster
    swift3.0 hello swift(1)
    vs2013 linq to mysql
    ThinkPHP5作业管理系统中处理学生未交作业与已交作业信息
    ThinkPHP5 Model分层及多对多关联的建立
    ThinkPHP5中Session的使用
    用户登陆模块的后端实现
    使用BootStrapValidator来完成前端输入验证
    空间session失效的解决方法
  • 原文地址:https://www.cnblogs.com/stono/p/5087785.html
Copyright © 2011-2022 走看看