import java.util.*;

public class TestMap {
  public static void main(String[] args) {
    // Tworzenie odwzorowania HashMap
    Map<String, Integer> hashMap = new HashMap<>();
    hashMap.put("Szymczak", 30);
    hashMap.put("Anielski", 31);
    hashMap.put("Ligas", 29);
    hashMap.put("Cywka", 29);

    System.out.println("Wpisy z odwzorowania HashMap: ");
    System.out.println(hashMap + "\n");

    // Tworzenie odwzorowania TreeMap na podstawie odwzorowania HashMap
    Map<String, Integer> treeMap = new TreeMap<>(hashMap);
    System.out.println("Wyświetlanie wpisów rosnąco na podstawie kluczy:");
    System.out.println(treeMap);

    // Tworzenie odwzorowania LinkedHashMap
    Map<String, Integer> linkedHashMap =
      new LinkedHashMap<>(16, 0.75f, true);
    linkedHashMap.put("Szewczyk", 30);
    linkedHashMap.put("Anielski", 31);
    linkedHashMap.put("Ligas", 29);
    linkedHashMap.put("Cywka", 29);

    // Wyświetlanie wieku studenta o nazwisku Ligas
    System.out.println("\nWiek studenta Ligas: " +
      linkedHashMap.get("Ligas"));

    System.out.println("Wpisy z odwzorowania LinkedHashMap: ");
    System.out.println(linkedHashMap);
    
    // Wyświetlanie nazwiska i wieku z każdego wpisu
    System.out.print("\nNazwisko i wiek: ");
    treeMap.forEach(
      (name, age) -> System.out.print(name + ": " + age + " "));
  }
}
