W świecie programowania Java, Mapy są jednym z fundamentalnych typów struktur danych służących do przechowywania par klucz-wartość w sposób, który umożliwia szybkie wyszukiwanie, wstawianie i usuwanie elementów. Kluczową cechą mapy jest to, że każdy klucz jest unikalny, a każdemu kluczowi przypisana jest dokładnie jedna wartość. Java oferuje kilka metod do interakcji z danymi przechowywanymi w mapie, a dwie z nich to keySet() i values(). Te metody służą do pobierania widoków kluczy i wartości mapy odpowiednio. Przyjrzyjmy się bliżej ich różnicom oraz zastosowaniom na praktycznym przykładzie.
Przykład użycia keySet() i values()
Załóżmy, że mamy mapę, która przechowuje informacje o studiach przypadków liczby użytkowników na różnych platformach internetowych. Poniżej przedstawiam kompletny kod, który ilustruje jak można użyć keySet() i values() do iteracji po kluczach i wartościach mapy.
import java.util.HashMap;
import java.util.Map;
public class MapExample {
    public static void main(String[] args) {
        // HashMap przechowująca liczby użytkowników różnych platform
        Map<String, Integer> userCounts = new HashMap<>();
        userCounts.put("Facebook", 2145);
        userCounts.put("Twitter", 975);
        userCounts.put("Instagram", 3645);
        // Wykorzystanie keySet() do iteracji po kluczach mapy
        System.out.println("Platformy:");
        for (String platform : userCounts.keySet()) {
            System.out.println(platform); // Wyświetla nazwę platformy
        }
        // Wykorzystanie values() do iteracji po wartościach mapy
        System.out.println("\nLiczby użytkowników:");
        for (Integer count : userCounts.values()) {
            System.out.println(count); // Wyświetla liczbę użytkowników
        }
    }
}
Wyjaśnienie kodu
- Tworzenie mapy: Mapa userCountsjest tworzona za pomocąHashMap, co jest klasą implementującą interfejsMap. Do mapy są dodawane trzy wpisy reprezentujące liczby użytkowników na różnych platformach.
- Użycie keySet(): Metoda keySet()zwracaSetwszystkich kluczy w mapie, co umożliwia iterację po kluczach. W przykładzie iterujemy po nazwach platform i wyświetlamy je. Jest to przydatne, gdy chcemy wykonać operacje wyłącznie na kluczach.
- Użycie values(): Metoda values()z kolei zwraca kolekcjęCollectionwszystkich wartości w mapie. W naszym przypadku, są to liczby użytkowników na poszczególnych platformach. Ta metoda jest użyteczna, kiedy interesuje nas przeglądanie lub przetwarzanie samych wartości.
Podsumowanie
Metody keySet() i values() mapy w Java umożliwiają odpowiednio dostęp do kluczy i wartości przechowywanych w mapie. Główna różnica między nimi polega na typie zwracanych danych: keySet() zwraca Set kluczy, natomiast values() zwraca Collection wartości. Wybór odpowiedniej metody zależy od konkretnego przypadku użycia w programie. Warto zauważyć, że obie metody zapewniają tylko widok na odpowiednie dane w mapie, co oznacza, że każda zmiana w zwróconych kolekcjach jest odzwierciedlona w mapie.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

