首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Collections 工具類深度解析:從排序到線程安全

     編輯:Java 相關知識

核心靜態方法概覽

java.util.Collections 提供大量操作集合的實用靜態方法:

  • enumeration(Collection):產生舊式 Enumeration。
  • max/min(Collection):依自然順序獲取最大/最小元素。
  • max/min(Collection, Comparator):依比較器獲取極值。
  • nCopies(int n, Object o):返回指向同一物件的不可變列表。
  • subList(List, int min, int max):返回列表指定範圍的視圖。

注意:min/max 作用於 Collection 而非 List,無需預先排序(二分搜尋才需排序)。

不可修改集合包裝器

四種變體:unmodifiableCollection/List/Set/Map。將原集合傳入,返回唯讀視圖。嘗試修改會拋出 UnsupportedOperationException。最佳實踐:填充數據後立即替換引用,防止意外修改。也可在類內部保留可修改引用,對外暴露唯讀視圖。

同步化包裝器

synchronizedCollection/List/Set/Map 提供自動線程安全包裝。直接包裝新建集合,避免洩露非同步引用。

快速失效機制

新集合內建 fail-fast 機制:迭代期間若其他線程修改結構,立即拋出 ConcurrentModificationException,而非稍後才發現錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved