Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Programowanie \ JAVA

Nowoczesne receptury w Javie. Proste rozwiązania trudnych problemów Język: 1

978-83-283-4073-2

Cena Brutto: 54.89

Cena netto: 52.28

Ilość:
Wersja: Drukowana
Autor Ken Kousen
Liczba_stron 264
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2018-04-13
Nowoczesne receptury w Javie. Proste rozwiązania trudnych problemów

Java od zawsze była klasyką programowania obiektowego. Wprowadzenie do tego języka elementów programowania funkcyjnego, takich jak wyrażenia lambda, referencje do metod czy strumienie, całkowicie odmieniło technikę pracy. Wielu programistów stanęło przed koniecznością szybkiego nadrobienia zaległości. Ten wysiłek jest opłacalny, gdyż nowy model programowania Javy ma wiele zalet. Podejście funkcyjne sprawia, że pisany kod jest prostszy i czytelniejszy, łatwiejsze też się staje uzyskanie współbieżności. Projektanci pracujący ze starszymi wersjami Javy muszą po prostu postarać się zrozumieć, jak nowe funkcyjne idiomy zmieniły sposób pisania kodu źródłowego.


Trzymasz w ręku książkę, która ułatwi Ci to zadanie. Znajdziesz tu niemal kompletny opis Javy SE 8 i informację o planowanych nowościach w Javie 9. Poszczególne zagadnienia zostały wyjaśnione i zilustrowane praktycznymi, szczegółowo omówionymi recepturami. W ten sposób pokazano, jak najnowsze elementy Javy ułatwiają proste rozwiązywanie dość złożonych problemów. Poza zaprezentowaniem kluczowych koncepcji, takich jak wyrażenia lambda czy pojęcie interfejsu funkcyjnego, omówiono i bardziej problematyczne zagadnienia: typ Optional, strumienie wejścia i wyjścia, pakiet java.time czy współbieżność i równoległość. Nie zabrakło oczywiście licznych, łatwych do przeanalizowania i zrozumienia przykładów kodu.


W tej książce między innymi:

  • Podstawowe pojęcia programowania funkcyjnego
  • Sortowanie strumieni danych
  • Lenistwo, odroczone wykonywanie i kompozycje domknięć
  • Mapowanie i mapowanie płaskie
  • Programowanie funkcyjne a praca z plikami i katalogami
  • Możliwości Javy 9, w tym Jigsaw, metody prywatne interfejsów, kolektory, strumienie dat

    Wstęp (9)

    Wprowadzenie (11)

    • Nowoczesna Java (11)
    • Adresaci książki (12)
    • Struktura książki (12)
    • Konwencje typograficzne (14)
    • Przykłady kodu (15)
    • Podziękowania (15)

    1. Podstawy (17)

    • 1.1 Wyrażenia lambda (18)
    • 1.2 Referencje do metod (21)
    • 1.3 Referencje do konstruktorów (25)
    • 1.4 Interfejsy funkcyjne (29)
    • 1.5 Domyślne metody w interfejsach (31)
    • 1.6 Statyczne metody w interfejsach (34)

    2. Pakiet java.util.function (37)

    • 2.1 Konsumenty (37)
    • 2.2 Dostawcy (40)
    • 2.3 Predykaty (42)
    • 2.4 Funkcje (46)

    3. Strumienie (49)

    • 3.1 Tworzenie strumieni (49)
    • 3.2 Strumienie w opakowaniach (53)
    • 3.3 Redukowanie wartości przy użyciu metody reduce (55)
    • 3.4 Sprawdzanie poprawności sortowania przy użyciu metody reduce (63)
    • 3.5 Debugowanie strumieni przy użyciu metody peek (64)
    • 3.6 Konwertowanie łańcuchów na strumienie i z powrotem (66)
    • 3.7 Liczenie elementów (69)
    • 3.8 Zestawienia statystyczne (71)
    • 3.9 Znajdowanie pierwszego elementu w strumieniu (74)
    • 3.10 Sposoby użycia metod anyMatch, allMatch i noneMatch (78)
    • 3.11 Strumienie i słowniki (80)
    • 3.12 Łączenie strumieni (83)
    • 3.13 Leniwe strumienie (86)

    4. Komparatory i kolektory (89)

    • 4.1 Sortowanie przy użyciu komparatora (89)
    • 4.2 Konwertowanie strumienia na kolekcję (92)
    • 4.3 Dodawanie liniowej kolekcji do słownika (95)
    • 4.4 Sortowanie słowników (97)
    • 4.5 Dzielenie i grupowanie (100)
    • 4.6 Kolektory strumieniowe (102)
    • 4.7 Znajdowanie najmniejszej i największej wartości (104)
    • 4.8 Tworzenie niezmiennych kolekcji (106)
    • 4.9 Implementowanie interfejsu Collector (108)

    5. Różne zastosowania strumieni, lambd i referencji do metod (113)

    • 5.1 Klasa java.util.Objects (113)
    • 5.2 Wyrażenia lambda i finalność (115)
    • 5.3 Strumienie liczb losowych (118)
    • 5.4 Domyślne metody w interfejsie Map (119)
    • 5.5 Konflikty metod domyślnych (123)
    • 5.6 Iteracyjne przeglądanie kolekcji i słowników (125)
    • 5.7 Zapisywanie dziennika przy użyciu dostawcy (128)
    • 5.8 Łączenie domknięć (130)
    • 5.9 Obsługa wyjątków za pomocą wydzielonej metody (133)
    • 5.10 Wyjątki kontrolowane i wyrażenia lambda (135)
    • 5.11 Generyczne opakowanie wyjątków (137)

    6. Typ Optional (141)

    • 6.1 Tworzenie obiektu klasy Optional (142)
    • 6.2 Pobieranie wartości z obiektów typu Optional (144)
    • 6.3 Typ Optional w metodach dostępowych (147)
    • 6.4 Klasa Optional oraz metody map i ?atMap (148)
    • 6.5 Mapowanie obiektów Optional (152)

    7. Plikowe wejście i wyjście (155)

    • 7.1 Przetwarzanie plików (156)
    • 7.2 Pobieranie plików jako strumienia (158)
    • 7.3 Przeglądanie systemu plików (159)
    • 7.4 Przeszukiwanie systemu plików (161)

    8. Pakiet java.time (163)

    • 8.1 Sposób użycia podstawowych klas biblioteki dat i godzin (164)
    • 8.2 Tworzenie dat i godzin z istniejących obiektów (167)
    • 8.3 Regulatory i zapytania (171)
    • 8.4 Konwersja z java.util.Date na java.time.LocalDate (176)
    • 8.5 Parsowanie i formatowanie (179)
    • 8.6 Znajdowanie stref czasowych z nietypowymi przesunięciami (181)
    • 8.7 Znajdowanie nazw regionów po przesunięciach (183)
    • 8.8 Czas dzielący wydarzenia (186)

    9. Równoległość i współbieżność (189)

    • 9.1 Konwertowanie strumieni sekwencyjnych na równoległe (190)
    • 9.2 Kiedy zrównoleglenie jest warte zachodu? (193)
    • 9.3 Zmienianie rozmiaru puli (197)
    • 9.4 Interfejs Future (199)
    • 9.5 Kończenie CompletableFuture (202)
    • 9.6 Koordynacja obiektów CompletableFuture ? część I (206)
    • 9.7 Koordynacja obiektów CompletableFuture ? część II (211)

    10. Nowości w Javie 9 (217)

    • 10.1 Moduły w Jigsaw (218)
    • 10.2 Metody prywatne w interfejsach (222)
    • 10.3 Tworzenie niezmiennych kolekcji (223)
    • 10.4 Stream: metody ofNullable, iterate, takeWhile i dropWhile (227)
    • 10.5 Kolektory strumieniowe: metody filtering i ?atMapping (230)
    • 10.6 Optional: metody stream, or i ifPresentOrElse (233)
    • 10.7 Przedziały dat (236)

    A. Typy generyczne i Java 8 (239)

    • Podstawowe wiadomości (239)
    • Co wszyscy wiedzą? (239)
    • Z czego niektórzy programiści nie zdają sobie sprawy? (242)
    • Symbole wieloznaczne i PECS (243)
    • Przykłady z API Javy 8 (247)
    • Podsumowanie (254)

    Skorowidz (255)

powrót
 
Produkty Podobne
Data Structures and Abstractions with Java, 5th Edition
Zrozum struktury danych. Algorytmy i praca na danych w Javie
Nowoczesne receptury w Javie. Proste rozwiązania trudnych problemów
Java. Zadania z programowania z przykładowymi rozwiązaniami. Wydanie II
Programowanie w Javie. Solidna wiedza w praktyce. Wydanie XI
Tajniki Java 9. Pisanie reaktywnego, modularnego, współbieżnego i bezpiecznego kodu
Effective Java, 3rd Edition
Testowanie aplikacji Java za pomocą JUnit
Intelligence-Driven Incident Response
Cloud Native Java
Więcej produktów