OLHub

Stream API & Lambda

Lambda, functional interface, Stream API (map/filter/reduce), Collectors, Optional. Xử lý dữ liệu theo functional style — cốt lõi của Java modern, nền tảng để đọc code enterprise và framework như Spring WebFlux.

6 bài · ~139 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Lambda và functional interface — hàm trở thành giá trị

    Lambda expression, functional interface (SAM), 4 interface chuẩn trong java.util.function, method reference. Vì sao Java 8 cần lambda, cơ chế invokedynamic bên dưới, và quy tắc effectively final.

    ~22 phút
  2. 02

    Stream basics — pipeline lazy và terminal operation

    Stream không phải collection. Cơ chế lazy evaluation, intermediate vs terminal operation, element flow qua pipeline, short-circuit. Vì sao code không có terminal op không chạy gì cả.

    ~20 phút
  3. 03

    map / filter / reduce — ba operation cốt lõi

    Ba operation nền tảng của functional programming: filter (lọc), map (biến đổi), reduce (gộp). Collectors.toList/toMap/groupingBy/partitioningBy. Viết 80% task aggregate mà không cần loop.

    ~25 phút
  4. 04

    Stream nâng cao — flatMap, takeWhile, parallel caveat

    flatMap cho stream lồng, takeWhile/dropWhile (Java 9+), peek debug, và parallel stream — khi nào nhanh hơn, khi nào chậm hơn, và vì sao common pool là bẫy.

    ~22 phút
  5. 05

    Optional — xử lý null không vỡ

    Optional<T> — container có hoặc không có value. API map/filter/flatMap/orElse/orElseThrow. Khi nào dùng và khi nào KHÔNG — vì Optional không phải replacement cho null ở mọi chỗ.

    ~20 phút
  6. 06

    Mini-challenge: Sales report với stream pipeline

    Bài thực hành khép lại Module 9 — phân tích 10k bản ghi sales bằng stream chain: lọc, group, aggregate, top-N, output báo cáo.

    ~30 phút