Math类
Math.abs(); 绝对值
Math.pow(n,n); n的n次方
Math.ceil(); 向上取整,返回>=该参数的最小整数(转成double)
Math.floor(); 向下取整,返回<=该参数的最大整数(转成double)
Math.round(); 四舍五入
Math.sqrt(); 求开方
Math.random(); 求随机数,返回的是 0 <= x < 1之间的一个随机小数
Math.random() * (b - a) 返回的就是 0 <= 数 <=b-a
获取a-b之间的整数 (int)(a + Math.random() * (b-a+1))
Math.min(a,b);//返回ab的最小值
Math.max(a,b);//返回ab的最大值
Arrays类
Arrays里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索)
- toString 返回数组的字符串形式 Arrays.toString(arr)
- sort排序(自然排序和定制排序) Integer arr[] = {1,-1,7,0,89};
Arrays.sort(books, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Book book1 = (Book) o1;
Book book2 = (Book) o2;
return book2.getName().length() - book1.getName().length();
}
});
Arrays.sort(books, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Book book1 = (Book) o1;
Book book2 = (Book) o2;
double priceVal = book2.getPrice() - book1.getPrice();
if (priceVal > 0){
return 1;
} else if (priceVal < 0) {
return -1;
} else {
return 0;
}
}
});
- binaryScarch 通过二分搜索进行查找,要求必须排好序
int index = Arrays.binarySearch(arr,3);
如果数组中不存在改元素,就返回 return -(low + 1)
low是应该存在的位置,就是在数组中由小到大排序后,可能存在的位置
- copyOf数组元素的复制
Integer[] newArr = Arrays.copyOf(arr,arr.length);
从 arr 数组中,拷贝 arr.length 个元素到 newArr 数组中
如果拷贝的长度小于0,就抛出异常NegativeSizeException
- fill数组元素填充
Integer[] num = new Integer[]{9,3,2};
Arrays.fill(num,99);
使用 99 取填充 num 数组,可以理解成是替换原来的元素
- equals 比较两个数组元素内容是否完全一致
boolean equals = Arrays.equals(arr,arr2)
真返回true,如果不完全一样返回false
- asList 将一组值,转换成list
List asList = Arrays.asList(2,3,4,5,6,1);
System.out.println(“asList=” + asList);
asList 方法会将(2,3,4,5,6,1)数据转成一个List集合
返回的 asList 编译类型 List(接口)
asList 运行类型 java.util.Arrays#ArraysList 是Arrays类的静态内部类
System类常见方法和案例
- exit 退出当前程序
System.exit(0);//退出当前程序,0表示一个状态,正常的状态
- arraycopy:复制数组元素,比较适合底层调用,一般使用Arrays.copyOf完成复制数组
int[] src = {1,2,3};
int[] dest = new int[3];
System.arraycopy(src,srcPos,dest,destPos,length);
一般不用arraycopy,用的是Arrays.copyOf(),因为底层就是arraycopy
主要是搞清楚这五个参数的含义
- 源数组 * @param src the source array.
- srcPos: 从源数组的哪个索引位置开始拷贝 * @param srcPos starting position in the source array.
- dest : 目标数组,即把源数组的数据拷贝到哪个数组 * @param dest the destination array.
- destPos: 把源数组的数据拷贝到 目标数组的哪个索引 * @param destPos starting position in the destination data.
- length: 从源数组拷贝多少个数据到目标数组 * @param length the number of array elements to be copied.
- currentTimeMillens:返回当前时间距离1970-1-1的毫秒数
System.currentTimeMillens();
- gc:运行垃圾回收机制 System.gc()