Nasıl HashSet kullanılarak ve orijinal dizinin uzunluğu HashSet boyutunu karşılaştırma hakkında?
HashSet çiftleri kurtulur, böylece boyut dizisi uzunluğu aynı ise, o tüm dizi elemanları farklı olduğunu anlamına gelecektir.
Örnek:
import java.util.Arrays;
import java.util.HashSet;
public class QuickTester {
public static void main(String[] args) {
String[] hands = new String[]{"Zilch", "Pair", "Triple",
"Straight", "Full House"};
HashSet<String> hs = new HashSet<>(Arrays.asList(hands));
if(hs.size() == hands.length) {
System.out.println("All elements in array are different!");
}
else {
System.out.println("Duplicates found in array!");
}
hands = new String[]{"Banana", "Apple", "Orange",
"Banana"};
hs = new HashSet<>(Arrays.asList(hands));
if(hs.size() == hands.length) {
System.out.println("All elements in array are different!");
}
else {
System.out.println("Duplicates found in array!");
}
}
}
Çıktı:
All elements in array are different!
Duplicates found in array!
LinkedHashSet sadece unque unsurları tutar. Yani, böyle yapın, Set arrToSet = new LinkedHashSet (Arrays.asList (hands)); VEYA Koleksiyon arrToSet = new LinkedHashSet (Arrays.asList (arr)); –
http://stackoverflow.com/questions/203984/how-do-i-remove-repeated-elements-from-arraylist –
Farklı tanımlayın. Farklı değerler? Farklı nesneler? Eğer örnek kod dizeleri hakkında soran iseniz, harf duyarlı karşılaştırma önemsiyorsun? –