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
  • Giới thiệu về Stream API: vì sao cần các stream

    JAVA 25 SELF
    Cấp độ 30,Bài học 0
    Trong bài này, chúng ta phân tích vì sao cách tiếp cận mệnh lệnh khi xử lý collection nhanh chóng sinh ra nhiều boilerplate, và cách Stream API đưa mã về phong cách khai báo: chuỗi thao tác filter, map, collect, kết hợp đơn giản, ít lỗi hơn và dễ song song hóa qua parallelStream(). Chúng ta sẽ chỉ ra phạm vi ứng dụng, lịch sử ra đời và các lỗi thường gặp cần tránh.
    Có sẵn
  • Các thao tác cơ bản của Stream API: map, filter, collect

    JAVA 25 SELF
    Cấp độ 30,Bài học 1
    Hướng dẫn từng bước về các thao tác cơ bản của Stream API: cách lấy stream từ collection và mảng ( stream(), Arrays.stream, Stream.of), sự khác nhau giữa các thao tác trung gian ( filter, map, distinct) và các thao tác kết thúc ( collect, forEach, count), và cách gom kết quả bằng Collectors ( toList, toSet, joining). Các ví dụ thực hành, bài tập nhỏ và mục lỗi thường gặp sẽ giúp bạn nhanh chóng nắm vững xử lý dữ liệu theo pipeline.
    Có sẵn
  • Các phép lấy tập con trong Stream API: distinct, limit, skip

    JAVA 25 SELF
    Cấp độ 30,Bài học 2
    Trong bài này, chúng ta phân tích ba thao tác then chốt của Stream API để làm việc với các tập con dữ liệu: distinct (loại bỏ trùng lặp), limit (giới hạn số phần tử) và skip (bỏ qua các phần tử đầu). Bạn sẽ thấy cách chúng hoạt động trên các bộ sưu tập chuỗi và đối tượng, việc triển khai equals/ hashCode ảnh hưởng thế nào tới kết quả của distinct, cách kết hợp các thao tác để phân trang và chọn top‑N, cùng những lỗi thường gặp nhất.
    Có sẵn
  • Phương thức forEach, peek: tác dụng phụ

    JAVA 25 SELF
    Cấp độ 30,Bài học 3
    Trong bài giảng này, chúng ta xem xét các thao tác Stream dành cho tác dụng phụ: thao tác kết thúc forEach và thao tác trung gian peek. Hiểu khi nào và tại sao nên dùng chúng, chúng khác nhau thế nào, vì sao sau forEach luồng “đóng”, còn peek không thay đổi dữ liệu và chỉ chạy khi có thao tác kết thúc. Chúng ta sẽ đưa ra ví dụ thực tế, phân tích các điểm không hiển nhiên và lỗi thường gặp (bao gồm ConcurrentModificationException và việc thay thế collect bằng forEach một cách sai lầm).
    Có sẵn
  • Chuyển đổi bộ sưu tập bằng Stream

    JAVA 25 SELF
    Cấp độ 30,Bài học 4
    Hướng dẫn thực hành về chuyển đổi bộ sưu tập bằng Stream API: chuyển đổi List ↔ Set, dựng ánh xạ thông qua Collectors.toMap() (bao gồm xử lý trùng lặp), ghép thành chuỗi với Collectors.joining(), phân tích các phép toán kết thúc và trung gian ( forEach, collect, count, anyMatch và khác). Bên trong — ví dụ dễ hiểu, giải thích 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