CodeGym
AI Academy
Khuyến mãi
CodeGym University
Học tập
Khóa học
Bài tập
Khảo sát & Bài kiểm tra
Trò chơi
Trợ giúp
Lịch
Cộng đồng
Người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Đánh giá
Gói đăng ký
Chủ đề sáng

Bài học

  • Đánh giá
  • Về chúng tôi
Bắt đầu
Bắt đầu học
Bắt đầu học ngay
  • Tiến độ của tôi
  • Khóa học
  • Bản đồ Quest
  • Bài học
  • Các phương thức sum, count, average, max, min trong Stream API

    JAVA 25 SELF
    Cấp độ 31,Bài học 0
    Trong bài giảng này, chúng ta tìm hiểu các phép toán tổng hợp của Stream API: cách đếm số lượng bằng count(), tính tổng và trung bình với các stream kiểu nguyên thủy ( IntStream, LongStream, DoubleStream) và các phương thức sum(), average(), cũng như tìm giá trị cực trị bằng min()/ max(). Chúng ta cũng sẽ bàn về cách làm việc với các container Optional, OptionalInt, OptionalLong, OptionalDouble và các cách trích xuất giá trị an toàn: orElse(...), ifPresent(...), orElseThrow(). Học cách sử dụng các collector Collectors.summingInt, Collectors.averagingInt, Collectors.maxBy/ minBy và kết hợp chúng với groupingBy. Cuối cùng — phân tích các lỗi thường gặp và những điểm cần lưu ý.
    Có sẵn
  • Phương thức reduce và collect: tổng hợp dữ liệu

    JAVA 25 SELF
    Cấp độ 31,Bài học 1
    Tìm hiểu các thao tác kết thúc (terminal) của luồng: phép thu gọn đa dụng reduce() và bộ thu thập mạnh mẽ collect(). Ta sẽ hiểu các chữ ký với identity, accumulator và combiner, học cách gom dữ liệu bằng các collector dựng sẵn từ Collectors ( toList(), toMap(), joining(), groupingBy()) và xem khi nào nên ưu tiên collect() thay vì reduce(). Cũng sẽ bàn về Optional, xử lý trùng lặp trong toMap() và các sắc thái của luồng song song.
    Có sẵn
  • Các phương thức groupingBy và partitioningBy (Collectors)

    JAVA 25 SELF
    Cấp độ 31,Bài học 2
    Trong bài này, chúng ta học cách nhóm dữ liệu trong stream bằng các collector Collectors.groupingBy và Collectors.partitioningBy: nhóm đơn giản và lồng nhau, phân tách theo điều kiện boolean, cách lựa chọn giữa chúng, xử lý kết quả và một vài mẹo. Qua các ví dụ thực hành với chuỗi, số và đối tượng, bạn sẽ thấy cách lấy Map có cấu trúc mong muốn từ stream ( Stream API) và cách làm việc với hàm đặc trưng ( Function) và predicate ( Predicate). Cuối bài — phân tích các lỗi thường gặp.
    Có sẵn
  • Tổng hợp nâng cao: nhóm lồng nhau

    JAVA 25 SELF
    Cấp độ 31,Bài học 3
    Thực hành đào sâu vào nhóm lồng nhau với Stream và các collector: cách kết hợp Collectors.groupingBy với các bộ gộp ( maxBy, averagingInt, counting), biến đổi dữ liệu bằng mapping, chia thành các tập con qua partitioningBy và đọc đúng các cấu trúc Map lồng nhau. Nhiều ví dụ minh họa, trực quan hóa cấu trúc kết quả và phân tích các lỗi thường gặp.
    Có sẵn
  • Các collector nâng cao

    JAVA 25 SELF
    Cấp độ 31,Bài học 4
    Trong bài giảng này, chúng ta xem các kỹ thuật collector nâng cao của Stream API: các collector downstream lồng nhau cho groupingBy/ partitioningBy, chuyển đổi với mapping, lọc với filtering, “trải phẳng” với flatMapping, tổng hợp đồng thời với teeing (Java 12+), cũng như “đóng băng” collection qua toUnmodifiableList/Set/Map và collectingAndThen. Trình bày các pipeline thực tế và lỗi thường gặp.
    Có sẵn
Học
  • Đăng ký
  • Khóa học Java
  • Trợ giúp bài tập
  • Bảng giá
  • Cú pháp Java
Cộng đồng
  • Người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
  • Chương trình giới thiệu
Công ty
  • Về chúng tôi
  • Liên hệ
  • Đánh giá
  • Phòng báo chí
  • CodeGym cho EDU
  • Câu hỏi thường gặp
  • Hỗ trợ
CodeGymCodeGym là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là cách hoàn hảo để nắm vững Java cho người mới bắt đầu. Nó chứa 1200+ bài tập với kiểm tra ngay lập tức và phạm vi lý thuyết cơ bản cần thiết về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một bộ tính năng tạo động lực: bài kiểm tra, dự án lập trình, nội dung về phương pháp học hiệu quả, và hỗ trợ sự nghiệp lập trình viên Java.
Theo dõi chúng tôi
Ngôn ngữ giao diện
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский
Vietnamese
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym
MastercardVisa
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym