Arrays、Collections、Objects常用方法源码解析
程序员文章站
2024-03-06 21:25:20
...
工具类特征
- 构造器私有。工具类直接使用,无需初始化,所以通过私有构造器让类不能new
- 用static final关键字修饰工具类方法
Arrays
- Arrays.sort
底层使用双轴快速排序算法 - Arrays.binarySearch
前提是数组必须有序 - Arrays.copyOfRange
底层调用System.arraycopy这个native方法
Collections
- 求集合中最大、最小值
//直接在最上层定义T实现Comparable接口,这样编译器就可以看出来不符合
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) {
Iterator<? extends T> i = coll.iterator();
T candidate = i.next();
while (i.hasNext()) {
T next = i.next();
if (next.compareTo(candidate) > 0)
candidate = next;
}
return candidate;
}
Object
- 相等判断
equals和deepEquals - 为空判断
ArrayList初始化之后,不能被修改,可以用Collections的unmodifiableList的方法
上一篇: java中Arrays类的常用方法