首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

比较数组中的两个账号是否相同(菜鸟)

2012-12-23 
比较数组中的两个账号是否相同(初学者)Comparer.javapackage com.xjh.studyimport java.util.ArrayListi

比较数组中的两个账号是否相同(初学者)
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));}}

热点排行