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
  • List.of, Set.of, Map.of — collection bất biến

    JAVA 25 SELF
    Cấp độ 34,Bài học 0
    Trong bài giảng này, chúng ta tìm hiểu các collection bất biến trong Java 9+: các phương thức factory List.of, Set.of, Map.of và Map.ofEntries. So sánh chúng với wrapper Collections.unmodifiableList, thảo luận về các hạn chế (cấm sửa đổi, cấm null, cấm trùng lặp đối với Set và khóa của Map), thứ tự phần tử và hiệu năng. Xem giới hạn 10 cặp cho Map.of và các ngoại lệ thường gặp: UnsupportedOperationException, NullPointerException, IllegalArgumentException. Thêm các ví dụ thực tế về việc những collection này giúp đơn giản hóa thiết kế và tăng an toàn luồng khi đọc.
    Có sẵn
  • Map.copyOf, Set.copyOf và các tiện ích khác

    JAVA 25 SELF
    Cấp độ 34,Bài học 1
    Trong bài giảng này, chúng ta phân tích các bản sao bất biến của collections xuất hiện trong Java 10: List.copyOf, Set.copyOf và Map.copyOf. Bạn sẽ biết chúng khác gì so với các lớp bọc Collections.unmodifiable*, các giới hạn áp dụng (cấm null, tính bất biến), khi nào trả về cùng một đối tượng và vì sao không nên dựa vào hiện thực cụ thể. Trình bày các kịch bản áp dụng thực tế và lỗi phổ biến, bao gồm nhầm lẫn với Map.of và Map.ofEntries.
    Có sẵn
  • Bộ sưu tập CopyOnWrite, lớp bao bọc không thể sửa đổi

    JAVA 25 SELF
    Cấp độ 34,Bài học 2
    Trong bài giảng này, chúng ta xem xét hai cách tiếp cận để “bảo vệ” các bộ sưu tập: các lớp bao bọc không thể sửa đổi từ Collections.unmodifiable* và các phương thức tạo List.of/ Set.of/ Map.of, cũng như các cấu trúc an toàn luồng CopyOnWriteArrayList và CopyOnWriteArraySet trong gói java.util.concurrent. Chúng ta sẽ hiểu lớp bao bọc khác gì so với tính bất biến thực sự, khi nào nên dùng các cấu trúc CopyOnWrite, và những lỗi thường gặp trong thực tế.
    Có sẵn
  • Bộ sưu tập mutable vs immutable: khác biệt và cách áp dụng

    JAVA 25 SELF
    Cấp độ 34,Bài học 3
    Trong bài giảng này, chúng ta phân tích sự khác nhau giữa các bộ sưu tập có thể thay đổi (mutable) và bất biến (immutable) trong Java: khi nào chọn ArrayList/ HashSet và khi nào — các collection tạo sẵn của Java 9+ ( List.of, Set.of, Map.of) và các bản sao qua copyOf. Sẽ thảo luận về tính an toàn, an toàn luồng, sự tiện lợi khi gỡ lỗi, những cạm bẫy của lớp bọc Collections.unmodifiableList và các ví dụ thực tế về cách sử dụng, cũng như các lỗi thường gặp và cách tránh chúng.
    Có sẵn
  • Các bộ sưu tập mới: SequencedCollection, SequencedSet, SequencedMap

    JAVA 25 SELF
    Cấp độ 34,Bài học 4
    Trong Java 21 đã xuất hiện các interface cho các collection có thứ tự — SequencedCollection, SequencedSet và SequencedMap. Chúng bổ sung một hợp đồng thống nhất để làm việc với thứ tự phần tử: truy cập nhanh phần tử đầu/cuối và đảo ngược collection thông qua reversed(). Trong bài giảng này, chúng ta sẽ tìm hiểu những collection chuẩn nào đã triển khai chúng, những phương thức mới xuất hiện, cách áp dụng vào mã thực tế, cũng như các lỗi thường gặp và những điểm cần lưu ý khi sử dụng.
    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