Collections工具类
排序和混排
- sort (List\
list) : 对指定列表按自然顺序进行排序。 -
sort(List\
list, Comparator\<? super T> c) : 根据提供的比较器对列表进行排序。Comparator <Person> ageComparator = new Comparator <Person>() { @Override public int compare(Person p1, Person p2) { return Integer.compare(p1.getAge(), p2.getAge()); } };
-
shuffle(List\<?> list): 随机打乱指定列表中元素的顺序。
-
shuffle(List\<?> list, Random rnd): 使用指定的随机源随机打乱列表。
-
查找和替换
- binarySearch(List\<? extends Comparable\<? super T>> list, T key): 使用二分查找算法在有序列表中查找指定对象。
- binarySearch(List\<? extends T> list, T key, Comparator\<? super T> c): 使用比较器进行二分查找。
- max(Collection\<? extends T> coll): 返回给定集合的最大元素。
- min(Collection\<? extends T> coll): 返回给定集合的最小元素。
- replaceAll(List\
list, T oldVal, T newVal) : 替换列表中所有出现的指定值。 -
frequency(Collection, Object x)
返回和x等价的元素数目 -
反转和旋转
- reverse(List\<?> list): 反转指定列表中元素的顺序。
-
rotate(List\<?> list, int distance): 将列表中的元素旋转指定的距离。
-
集合的视图和包装
- unmodifiableCollection(Collection\<? extends T> c): 返回指定集合的不可修改视图。
- synchronizedCollection(Collection\
c) : 返回指定集合的线程安全视图。 - singleton(T o): 返回只包含指定对象的不可变集合。
-
emptyList(), emptySet(), emptyMap(): 返回空的不可变列表、集合或映射。
-
复制和填充
- copy(List\<? super T> dest, List\<? extends T> src): 将所有元素从一个列表复制到另一个列表。
- fill(List\<? super T> list, T obj): 使用指定元素替换列表中的所有元素。只能用于 list 但是生成的列表可以用于构造器或 addAll
- 只能替换已有的元素不能添加新元素
-
Collections.nCopies(n,item)
创建具有相同元素的list -
添加和移除
- addAll(Collection\<? super T> c, T... elements): 将所有指定元素添加到指定集合。
- disjoint(Collection\<?> c1, Collection\<?> c2): 如果两个指定集合没有共同的元素,则返回 true。
removeIf(s->xx)
填入一个表达式,删除满足条件的元素