public class TestMethodsInCollection {
  public static void main(String[] args) {
    // Tworzenie zbioru set1
    java.util.Set<String> set1 = new java.util.HashSet<>();

    // Dodawanie łańcuchów znaków do zbioru set1
    set1.add("Londyn");
    set1.add("Paryż");
    set1.add("Nowy Jork");
    set1.add("San Francisco");
    set1.add("Pekin");

    System.out.println("set1: " + set1);
    System.out.println("Liczba elementów w set1: " + set1.size());

    // Usuwanie łańcucha znaków ze zbioru set1
    set1.remove("Londyn");
    System.out.println("\nset1: " + set1);
    System.out.println("Liczba elementów w set1: " + set1.size());

    // Tworzenie zbioru set2
    java.util.Set<String> set2 = new java.util.HashSet<>();

    // Dodawanie łańcuchów znaków do set2
    set2.add("Londyn");
    set2.add("Szanghaj");
    set2.add("Paryż");
    System.out.println("\nset2: " + set2);
    System.out.println("Liczba elementów w set2: " + set2.size());

    System.out.println("\nCzy w set2 znajduje się Tajpej? "
       + set2.contains("Tajpej"));

    set1.addAll(set2); 
    System.out.println("\nPo dodaniu set2 do set1 zbiór set1 zawiera: "
      + set1);

    set1.removeAll(set2);
    System.out.println("Po usunięciu set2 z set1 zbiór set1 zawiera: "
      + set1);

    set1.retainAll(set2);
    System.out.println("Po zachowaniu wspólnych elementów zbiorów set1 "
      + "i set2 zbiór set1 zawiera: " + set1);
  }
}
