`

比对的一个工具类

阅读更多
package study.corejava.string;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestUtil {
	public static void main(String[] args) {
		Map<String, String> a0 = new HashMap<String, String>();
		a0.put("test", "1234561");
		Map<String, String> a1 = new HashMap<String, String>();
		a1.put("test", "1234561");
		Map<String, String> a2 = new HashMap<String, String>();
		a2.put("test", "1234562");
		Map<String, String> a3 = new HashMap<String, String>();
		a3.put("test", "1234563");
		Map<String, String> a4 = new HashMap<String, String>();
		a4.put("test", "1234564");
		Map<String, String> a5 = new HashMap<String, String>();
		a5.put("test", "1234564");
		Map<String, String> a6 = new HashMap<String, String>();
		a6.put("test", "1234563");
		Map<String, String> a7= new HashMap<String, String>();
		a7.put("test", "1234562");
		Map<String, String> a8 = new HashMap<String, String>();
		a8.put("test", "1234561");
		Map<String, String> a9 = new HashMap<String, String>();
		a9.put("test", "1234561");
		List<Map<String, String>> param = new ArrayList<Map<String, String>>();
		param.add(a0);
		param.add(a1);
		param.add(a2);
		param.add(a3);
		param.add(a4);
		param.add(a5);
		param.add(a6);
		param.add(a7);
		param.add(a8);
		param.add(a9);
		List<List<Integer>> result = new ArrayList();
		String demp = "";
		for (int i = 0; i < param.size(); i++) {
			String[] demps = demp.split(",");
			if (breakFor(demps, i)) {
				continue;
			}
			List<Integer> result_ = new ArrayList();
			String startTemp = param.get(i).get("test");
			if (startTemp == null || startTemp.length() <= 0) {
				continue;
			}
			result_.add(i);
			for (int j = i + 1; j < param.size(); j++) {
				if (breakFor(demps, j)) {
					continue;
				}
				String endTemp = param.get(j).get("test");
				if (startTemp.equals(endTemp)) {
					result_.add(j);
					demp += (j + ",");
				}
			}
			if (result_.size() > 1) {
				result.add(result_);
				
			}
		}
		for (List<Integer> test : result) {
			for (Integer i : test) {
				System.out.print(i + ",");
			}
			System.out.println();
		}
	}

	public static boolean breakFor(String[] strs, int i) {
		for (String s : strs) {
			if (s.equals(String.valueOf(i))) {
				return true;
			}
		}
		return false;
	}
}
分享到:
评论

相关推荐

    Excel超级比对工具

    总结而言,Excel超级比对工具是办公软件中一个极为实用的辅助工具,它将复杂的公式计算转化为了简单的操作步骤,极大地降低了数据比对的门槛。无论用户是否具备专业的Excel技能,都能够借助这一工具轻松完成数据比对...

    java比对升级工具

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它可以将任意长度的数据转化为一个固定长度的摘要,即128位的二进制值,通常以32位的十六进制字符串形式表示。在软件升级中,MD5校验值被用来验证新旧...

    BIN比对软件工具下载

    "Hexcmp"通常是指一个十六进制比较工具,它能逐字节比较两个文件的内容,不仅显示差异,还能以十六进制视图展示文件详情。"2"可能表示版本号,意味着这是该工具的第二版。".exe"扩展名表明这是一款Windows操作系统下...

    文件比对工具

    4. **操作差异**:根据需求,可以将一处或多处差异同步到另一个文件,或者合并两个文件的内容。 对于IT从业者来说,熟练掌握文件比对工具的使用,不仅可以提高工作效率,还能减少错误和遗漏,确保项目或代码库的...

    版本比对工具(快速比对文件)

    版本比对工具,如"Beyond Compare",是IT行业中一种非常实用的软件,它能够高效地帮助用户比较和同步两个或多个文件、目录或者代码库之间的差异。在日常的开发、维护和协作工作中,这样的工具起到了至关重要的作用,...

    代码比对工具

    在当今这个代码共享和协作的时代,代码比对工具扮演着不可或缺的角色。它不仅支持开发者对代码进行深入分析,还能有效处理版本控制中遇到的合并冲突问题,提升软件开发的效率与质量。代码比对工具的种类繁多,从简单...

    文档内容比对工具

    以“BC2”这个文件为例,这可能是该比对工具的一个版本或案例,可能包含了一些示例文件、用户手册、安装程序等资源。用户可以通过这个文件了解工具的使用方法,或者体验其功能。 总的来说,文档内容比对工具是提升...

    版本比对工具

    版本比对工具是软件开发和文档管理中不可或缺的利器,其主要功能是对比两个或多个文件或目录的差异,帮助用户快速找出并解决版本之间的不一致。本文将深入探讨版本比对工具的重要性和具体应用,以Beyond Compare 3为...

    一款很实用的,不需要很多程序的比对工具

    - **合并功能**:允许用户合并两个有差异的文件版本,创建一个综合版本。 2. **高效算法**: - 比对工具通常采用高效的算法,如KMP(Knuth-Morris-Pratt)或Rabin-Karp字符串匹配算法,以快速找到文件间的差异。 ...

    代码比对工具,代码比对工具

    在标题和描述中提到的“代码比对工具”是一个广义的概念,涵盖了许多不同的工具,而压缩包中的“WinMerge.lnk”则指向了一个具体的代码比对工具——WinMerge。 WinMerge是一款开源的文件和代码比对工具,主要面向...

    oracle比对工具

    Oracle比对工具是数据库管理员和开发人员常用的工具,主要用于比较和同步两个Oracle数据库实例的数据结构和数据内容。在Oracle数据库管理中,这类工具扮演着至关重要的角色,它们可以帮助用户识别并解决数据库之间的...

    文本内容比对工具

    文本内容比对工具是一种在信息技术领域...通过以上知识,我们可以了解到文本内容比对工具在信息技术领域的重要作用以及其背后的技术原理,这对于我们理解和使用这类工具,或者开发自己的文本比对解决方案具有指导意义。

    Java图片验证码工具类

    工具类会包含一个方法来生成一个指定长度(例如4位)的随机字符串,通常由字母和数字组成。可以使用`java.util.Random`类和`Character`类的方法来实现。 4. **绘制验证码**: 使用`Graphics2D`类来在图片上绘制...

    java银行工具类java银行工具类

    根据银行卡号获取银行的名称 银行的机构号 银行卡的卡的类型 银行卡的卡种 工具类是由java 编写 其他的开发语言 也可以参考 包含了4800 +种卡种 自己测试了 还是比较全的 比支付宝提供的接口返回的卡种还要全 读取...

    免安装的文件差异比对工具

    标题中的“免安装的文件差异比对工具”指的是一个无需经过传统安装步骤即可使用的软件,这类工具通常以可执行文件的形式提供,用户可以直接运行而无需安装到系统中,避免了在计算机上留下冗余文件或注册表条目,这...

    B2C 文件比对工具

    4. **同步功能**:一些高级工具允许用户同步两个文件或文件夹,将一个版本的更改应用到另一个版本,这在维护多设备间文件一致性时非常有用。 5. **用户界面**:易用性是B2C工具的重要标准,好的文件比对工具应该有...

    文件对比工具,可以比对整个项目代码

    "Beyond CompareHA(对比工具)"是这个压缩包内的主要文件,很显然,它是一个汉化版的Beyond Compare,这是一款国际上广受欢迎的文件和目录比对软件。Beyond Compare以其强大的功能和友好的用户界面,赢得了程序员和...

    oracle数据库比对工具

    4. **同步功能**:许多比对工具还提供同步功能,允许用户选择并应用差异,将一个数据库的结构或数据更新到另一个数据库,从而实现数据库的同步。 5. **版本控制**:在软件开发环境中,版本控制是必不可少的。数据库...

Global site tag (gtag.js) - Google Analytics