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"