Überprüfen Sie den doppelten Wert im Array
Hier habe ich ein Java-Beispiel angehängt, um zu zeigen, wie doppelte Werte in einem Array überprüft werden. Ich zeige zwei Methoden, um dies zu implementieren.
1) Verwenden Sie zwei for-Schleifen, um die einzelnen Werte im Array zu vergleichen - Zeile 21
2) Verwenden von HashSet, um doppelte Werte zu erkennen. - Linie 40
Hoffe, Hilfe, wenn Sie eine andere Methode kennen, um doppelten Wert in Array zu vergleichen, teilen Sie es mir bitte.
package com.example;
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)
{
Set sValueSet = new HashSet();
for(String tempValueSet : sValueTemp)
{
if (sValueSet.contains(tempValueSet))
return true;
else
if(!tempValueSet.equals(""))
sValueSet.add(tempValueSet);
}
return false;
}
}