Matematik - Simetrik Fark
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 32 / 59.
İki kümenin simetrik farkı, her iki kümede birden bulunmayan, yalnızca kümelerden birinde bulunan elemanları içeren yeni bir kümedir. Java'da bunu şu şekilde hesaplayabilirsiniz:
- Birinci kümenin ikinciye göre farkını bulma.
- İkinci kümenin birinci kümeye göre farkını bulma.
- Bu iki farkı birleştirmek.
Öncelikle, iki HashSet oluşturun:
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);Ardından, her bir tek yönlü farkı hesaplayın:
HashSet<Integer> diff1 = new HashSet<>(set1);
diff1.removeAll(set2); // diff1 [1] olur
HashSet<Integer> diff2 = new HashSet<>(set2);
diff2.removeAll(set1); // diff2 [4] olurArdından, iki farkı birleştirin:
diff1.addAll(diff2); // diff1 [1, 4]'türGörev
KolayGirdi olarak iki tamsayı HashSet'i alan, bunların simetrik farkını hesaplayan ve sonucu şu formatta yazdıran <strong>symmetricDifference</strong> adında bir metot oluşturun:
Symmetric Difference: [elements]Kendin dene
import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
public class Main {
public static void symmetricDifference(HashSet<Integer> set1, HashSet<Integer> set2) {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// İlk küme için JSON dizesini okuyun (örneğin, [1,2,3])
String set1String = scanner.nextLine();
// İkinci küme için JSON dizesini okuyun (örneğin, [2,3,4])
String set2String = scanner.nextLine();
Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);
symmetricDifference(set1, set2);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap5HashSet Kısım 2
Matematik - HashSet'lerin BirliğiMatematik - HashSet KesişimiMatematik - Küme FarkıMatematik - Simetrik FarkAlt Kümeler ve Üst KümelerKümeler Üzerinde Yineleme3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme