java.util.Collections
這個類你可能知道,也可能常常用裏面的像 sort()
、reverse()
這樣的方法。但這個類當中還有幾個方法,估計你到如今還不知道,還在本身手寫循環來實現。java
這個方法檢查兩個集合是否沒有相同元素。若是存在相同元素則返回 false,不然返回 true。code
這些方法建立空的 List / Map / Set。有人會問,我直接用 new ArrayList()
不就行了?其實區別在於,這些方法建立的空集合都是保證永遠爲空,不容許添加元素進去的。對象
這個方法用一個指定的對象來替換集合中的全部元素。好比你要對某個集合「清零」,同時保持集合的元素數量不變,那麼能夠用這個方法。get
這個方法將集合中的指定元素所有替換成新元素。io
這個方法幫你將一個 Enumeration
對象轉換爲 ArrayList
對象。好比說咱們要獲得 HttpServletRequest
對象中全部的參數名,就能夠寫:class
ArrayList<String> paramNames = Collections.list(request.getParameterNames());
這些方法用來從集合中取最大最小值,你還能夠傳入自定義的用來比較元素大小的方法。List
這個方法用來「滾動」集合的元素,好比當 distance 爲 1 時,表示全部元素向右滾動一位,其中最後一個元素滾動到第一位。循環
這個方法用來交換 List 中第 i 位和第 j 位的元素。request
這個方法返回指定的元素在集合中出現了多少次。若是參數 o 爲 null 的話,它一樣會返回 null 元素的個數。方法
這個方法返回包含 n 個相同元素的 List。注意 List 內容是不可變的。有人會問,那這個方法有什麼用呢?你能夠用它結合 List.addAll()
來填充一個可變的 List。好比:
List<String> list = new ArrayList<>(); ... list.addAll(Collections.nCopies(10, "A")); // 在 list 的末尾添加 10 個 "A"