位置:首頁 > 極客書 > Java檢查數組中的重複值

Java檢查數組中的重複值

在這裡,附上一個Java的例子來說明如何在數組中檢查重複值。這裡展示兩種方法來實現這一點。

1) 使用兩個for循環比較數組中的每個值 - 21

2)使用 HashSet 檢測重複的值 - 第40行

希望對你有所幫助,如果知道在數組中比較重複值的任何其他方法,請分享給我們。

 
package com.yiibai;

import java.util.Set;
import java.util.HashSet;

public class CheckDuplicate
{
	public static void main(String args[])
	{
		String [] sValue = new String[]{"a","b","c","d","","","e","a"};
		
		if(checkDuplicated_withNormal(sValue))
			System.out.println("Check Normal : Value duplicated! \n");
		if(checkDuplicated_withSet(sValue))
			System.out.println("Check Set : Value duplicated! \n");
		
	}
	
	//check duplicated value
	private static boolean checkDuplicated_withNormal(String[] sValueTemp)
	{
		for (int i = 0; i < sValueTemp.length; i++) {
			String sValueToCheck = sValueTemp[i];
			if(sValueToCheck==null || sValueToCheck.equals(""))continue; //empty ignore
			for (int j = 0; j < sValueTemp.length; j++) {
					if(i==j)continue; //same line ignore
					String sValueToCompare = sValueTemp[j];
					if (sValueToCheck.equals(sValueToCompare)){
							return true;
					}
			}

		}
		return false;
		
	}
	
	//check duplicated value
	private static boolean checkDuplicated_withSet(String[] sValueTemp)
	{
		SetsValueSet = new HashSet();
		for(String tempValueSet : sValueTemp)
		{
			if (sValueSet.contains(tempValueSet))
				return true;
			else
				if(!tempValueSet.equals(""))
					sValueSet.add(tempValueSet);
		}
		return false;
	}
	
	
}