`

比较数组中的两个账号是否相同(初学者)

    博客分类:
  • java
 
阅读更多
Comparer.java

package com.xjh.study;

import java.util.ArrayList;
import java.util.Map;

/**
 * 比较数组中的账号是否相同
 * @author xiejiaohui
 * 
 */
public class Comparer {
	
	// 比较队列中的两个相邻的账号是否相同
	public boolean comp(ArrayList arrayList) {
		if (arrayList == null) {
			return true;
		}
		for (int i = 1; i < arrayList.size(); i++) {
			Map oneMap = (Map)arrayList.get(i - 1);
			Map twoMap = (Map)arrayList.get(i);
			String oneAcNo = (String)oneMap.get("AcNo");
			String twoAcNo = (String)twoMap.get("AcNo");
			if (oneAcNo.equals(twoAcNo)) {
				return false;
			}
		}
		return true;
	}
	
	// 比较队列中的所有账号是否重复
	public boolean comp2(ArrayList arrayList) {
		// 没有元素的时候肯定没有重复
		if (arrayList == null) {
			return true;
		}
		for (int i = 0; i < arrayList.size(); i++) {
			for (int k = i + 1; k < arrayList.size(); k++) {
				Map oneMap = (Map)arrayList.get(i);
				Map twoMap = (Map)arrayList.get(k);
				String oneAcNo = (String)oneMap.get("AcNo");
				String twoAcNo = (String)twoMap.get("AcNo");
				if (oneAcNo.equals(twoAcNo)) {
					return false;
				}
			}
		}
		return true;
	}

}




测试程序 TestComparer.java

package com.xjh.study;

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

import junit.framework.TestCase;

public class TestComparer extends TestCase {

	Map map1;
	Map map2;
	Map map3;
	Map map4;
	ArrayList arrayList0;
	ArrayList arrayList1;
	ArrayList arrayList2;
	ArrayList arrayList3;
	ArrayList arrayList4;
	Comparer compare;

	public void setUp() {
		map1 = new HashMap();
		map1.put("AcNo", "111111");
		map2 = new HashMap();
		map2.put("AcNo", "222222");
		map3 = new HashMap();
		map3.put("AcNo", "333333");
		map4 = new HashMap();
		map4.put("AcNo", "444444");
		// 正常情况,没有重复的账号
		arrayList0 = new ArrayList();
		arrayList0.add(map1);
		arrayList0.add(map2);
		arrayList0.add(map3);
		arrayList0.add(map4);
		// 有重复的账号(不是相邻重复)
		arrayList1 = new ArrayList();
		arrayList1.add(map1);
		arrayList1.add(map2);
		arrayList1.add(map1);
		arrayList1.add(map4);
		// 有重复的账号(相邻重复)
		arrayList2 = new ArrayList();
		arrayList2.add(map1);
		arrayList2.add(map2);
		arrayList2.add(map2);
		arrayList2.add(map3);
		// 只有一个元素(账号)
		arrayList3 = new ArrayList();
		arrayList3.add(map1);
		// 没有账号
		arrayList4 = new ArrayList();
		compare = new Comparer();

	}

	public void testComp() {
		// 测试正常情况,没有重复的账号
		this.assertEquals(true, compare.comp(arrayList0));
		// 测试正常情况,有重复的账号(不是相邻重复)
		this.assertEquals(true, compare.comp(arrayList1));
		//  测试正常情况,有重复的账号(相邻重复)
		this.assertEquals(false, compare.comp(arrayList2));
		// 测试只有一个元素
		this.assertEquals(true, compare.comp(arrayList3));
		// 测试没有元素
		this.assertEquals(true, compare.comp(arrayList4));
	}

	public void testComp2() {
		// 测试正常情况,没有重复的账号
		this.assertEquals(true, compare.comp2(arrayList0));
		// 测试正常情况,有重复的账号(不是相邻重复)
		this.assertEquals(false, compare.comp2(arrayList1));
		// 测试正常情况,有重复的账号(相邻重复)
		this.assertEquals(false, compare.comp2(arrayList2));
		// 测试只有一个元素
		this.assertEquals(true, compare.comp2(arrayList3));
		// 测试没有元素
		this.assertEquals(true, compare.comp2(arrayList4));
	}

}


分享到:
评论

相关推荐

    java源码包2

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包---java 源码 大量 实例

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包3

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包4

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    在线考试系统源码PHP

    说明 ... ... 3.想增加账号的可至xueyuan.php增加 复制代码 隐藏代码 $xueyuans = array( array('xueyuan_id'=&gt;...同3,这两个文件的出现相当于我已经帮你把数据从数据库里面取出来了放到了一个数组中。

    LINUX操作系统(电子教案,参考答案)

    本章主要介绍在Linux上比较常用的两个proxy服务器软件的配置。 本书最后还附有参考答案,以供读者对照课后习题进行练习。 四、本书适用对象 本书适合用于大专院校、电脑培训班等作为Linux或UNIX操作系统课程的教材,...

Global site tag (gtag.js) - Google Analytics