AI Academy
促銷
CodeGym University
學習
課程
任務
問卷 & 測驗
遊戲
說明
行程
社群
用戶
論壇
聊天
文章
成功故事
動態
評價
訂閱
淺色主題
課程
評論
關於我們
開始
開始學習
立即開始學習
My Progress
Courses
任務地圖
課程
Java 25
Java 25
等級 28
集合元素的篩選
JAVA 25 SELF
等級 28,
課程 0
在本課我們講解在
Java
中對集合進行篩選的實作:透過迴圈
for
的命令式做法、使用
Iterator
與方法
remove()
在迭代期間安全刪除,以及現代且精煉的
removeIf
(Java 8+)。我們會討論為什麼會出現
ConcurrentModificationException
、何時應該建立新的清單,以及在撰寫篩選條件時最常見的錯誤。
集合的轉換
JAVA 25 SELF
等級 28,
課程 1
在本講座中,我們講解如何以命令式方式進行集合轉換:從
List<String>
取得
List<Integer>
(例如字串長度)、如何從網域模型物件(
Product
→ 名稱/價格)中擷取欄位、如何透過
addAll()
或巢狀迴圈將巢狀集合「扁平化」,以及如何使用
if
與像
startsWith
這類方法把過濾與轉換組合在一起。最後我們會討論典型錯誤:修改原始集合、錯誤的型別轉換(
ClassCastException
),以及效能相關的問題。
安全刪除元素
JAVA 25 SELF
等級 28,
課程 2
在實務中,從集合刪除元素常常會導致
ConcurrentModificationException
。本講將說明為什麼透過
for-each
迭代時會發生這種情況,如何用
Iterator.remove()
安全刪除元素,
ListIterator
有什麼用處,何時選擇
removeIf
(Java 8+),以及如何正確處理
Map
。最後——提供實用建議與常見錯誤。
EnumSet/EnumMap
JAVA 25 SELF
等級 28,
課程 3
在本講座中,我們將講解用於列舉的專用集合 —
EnumSet
與
EnumMap
,它們來自套件
java.util
:內部如何運作(位元遮罩與依
ordinal
進行索引)、為何比
HashSet
/
HashMap
更快且更精簡、適用場景(旗標、對應表、有限狀態機),與修改
enum
及序列化相關的陷阱,以及一套最佳實務與常見錯誤,並附上直觀的程式碼範例。
LinkedHashSet/LinkedHashMap
JAVA 25 SELF
等級 28,
課程 4
在本課中我們將講解可記住順序的集合:
LinkedHashSet
與
LinkedHashMap
。你將了解它們如何維持插入順序與存取順序、如何只用幾行程式碼透過覆寫
removeEldestEntry
建立 LRU 快取、與
HashSet
/
HashMap
相比在記憶體與速度上的開銷、何時需要決定性的順序以獲得穩定的測試與報表,以及在佇列/堆疊情境下為什麼
ArrayDeque
比
LinkedList
更合適。最後會介紹常見錯誤與如何避免。
Please enable JavaScript to continue using this application.