Centrum wiedzy o technologiach i pracy w IT
java map

Java map – podstawy, przykłady i najlepsze praktyki

Ostatnia aktualizacja 5 kwietnia, 2024

Java map to jeden z podstawowych interfejsów w Java Collections Framework. Umożliwia przechowywanie elementów w parach klucz-wartość. Każdy klucz jest unikatowy, a to pozwala na szybkie wyszukiwanie, dodawanie oraz usuwanie wartości. Mapy znajdują szerokie zastosowanie w programowaniu – od prostego przechowywania ustawień konfiguracyjnych, po skomplikowane struktury danych w aplikacjach biznesowych.

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Podstawowe operacje na Java map

W tej sekcji przedstawiamy podstawowe operacje na mapach w Javie, czyli: tworzenie, dodawanie elementów i iteracja.

Tworzenie mapy:

Map<String, Integer> liczby = new HashMap<>();

W powyższym przykładzie tworzymy mapę liczby, w której klucze to łańcuchy znaków (String), a wartości to liczby całkowite (Integer). Używamy implementacji HashMap, która jest jedną z najczęściej wykorzystywanych implementacji interfejsu Map w Javie.

Dodawanie elementów:

liczby.put("jeden", 1);
liczby.put("dwa", 2);
liczby.put("trzy", 3);

Metoda put pozwala dodać parę klucz-wartość do mapy. Jeśli mapa już zawiera klucz, wartość zostanie zaktualizowana.

Wyszukiwanie elementu:

Integer wartosc = liczby.get("dwa");
System.out.println(wartosc); // Wypisze „2"

Metoda get pozwala pobrać wartość skojarzoną z kluczem. W tym przypadku szukamy wartości dla klucza „dwa”.

Iteracja po elementach mapy:

for (Map.Entry<String, Integer> wpis : liczby.entrySet()) {
    String klucz = wpis.getKey();
    Integer wartosc = wpis.getValue();
    System.out.println(klucz + " => " + wartosc);
}

Używamy pętli for do iteracji po zbiorze wpisów (entrySet) mapy. Dla każdego wpisu, możemy uzyskać klucz i wartość.

Zaawansowane operacje na Java map

Zaawansowane operacje na mapach w Javie umożliwiają tworzenie bardziej skomplikowanych manipulacji i zapytań.

Usuwanie elementów:

liczby.remove(„dwa");

Metoda remove usuwa parę klucz-wartość na podstawie klucza. W tym przypadku usuwamy wpis dla klucza „dwa”.

Sprawdzanie obecności klucza lub wartości:

boolean zawieraKlucz = liczby.containsKey("trzy");
boolean zawieraWartosc = liczby.containsValue(3);

Metody containsKey i containsValue pozwalają sprawdzić, czy mapa zawiera określony klucz lub wartość.

Zastępowanie elementów:

liczby.replace("jeden", 10);

Metoda replace zastępuje wartość dla istniejącego klucza nową wartością. W tym przypadku wartość dla klucza “jeden” zostaje zastąpiona wartością 10.

Java map i strumienie

Java 8 wprowadziła strumienie, które umożliwiają bardziej deklaratywne operacje na kolekcjach, w tym na mapach.

Filtrowanie mapy:

liczby.entrySet().stream()
    .filter(e -> e.getValue() > 1)
    .forEach(e -> System.out.println(e.getKey() + " => " + e.getValue()));

Tutaj filtrujemy mapę, aby wyświetlić tylko te wpisy, których wartości są większe niż 1.

Zbieranie do mapy:

Map<String, Integer> filtrowane = liczby.entrySet().stream()
    .filter(e -> e.getValue() > 1)
    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

Używamy collect z Collectors.toMap, aby stworzyć nową mapę z wpisów spełniających określony warunek.

Dalsza część tekstu znajduje się pod materiałem wideo:

Kiedy najlepiej korzystać z Java map?

  • Szybki dostęp do elementów za pomocą unikalnych kluczy. Mapy umożliwiają natychmiastowe wyszukiwanie, co jest istotne w strukturach danych typu słownik.
  • Zarządzanie zestawami ustawień konfiguracyjnych. Idealne do przechowywania par nazwa opcji – wartość, zapewniając prosty dostęp i modyfikację.
  • Mapowanie identyfikatorów na obiekty. Niezastąpione w systemach zarządzania użytkownikami, gdzie kluczem jest identyfikator, a wartością – obiekt użytkownika.
  • Ułatwienie agregacji i grupowania danych. Umożliwia efektywne podsumowanie danych, kluczowe w algorytmach przetwarzających duże zbiory informacji.
  • Wydajność przy częstych operacjach wyszukiwania, dodawania lub usuwania. Mapy przyspieszają te operacje. Jest to istotne w aplikacjach o wysokiej intensywności danych.

Dziękujemy, że przeczytałaś/eś nasz artykuł. Obserwuj EnterTheCode.pl w Wiadomościach Google, aby być na bieżąco.

Czytaj także:

Error:Java error: release version 5 not supported – rozwiązanie

Metoda equals w języku Java. Porównywanie obiektów

Total
0
Shares
_podobne artykuły