Arrays工具类
1.Arrays.toString()
该方法可以将对应数组内容以字符串形式输出
2.Arrays.sort(int [ ])
该方法对int数组内容进行选择排序
原理:
for (int x = 0; x < arr.length - 1; x++) { //外层循环表示基准位置,总共比较length - 1轮
for (int y = x + 1; y < arr.length; y++) {//内层循环表示,从基准位置+1开始,到数组后面每个元素
//3.基准位置 VS 后面元素比较 如果基准位置 > 后面元素 就交换(小的放基准位置)
// arr[x] arr[y]
if (arr[x] > arr[y]) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
System.out.println("第" + (x + 1) + "轮:" + Arrays.toString(arr));
}
3.Arrays.binarySearch(int[ ] arr, int num)
该方法利用二分法进行查找指定元素
public static int binarySearch(int[] arr, int num) {
//1.定义最小索引 min
int min=0;
//2.定义最大索引 max
int max=arr.length-1;
//3.计算中间索引 mid
// int mid=(min+max)/2;
//4.比较 num vs arr[mid]
// num > arr[mid] min = mid + 1;
// num < arr[mid] max = mid - 1;
// 找到了 return mid;
//5.使用while循环,条件是? 包裹步骤3,4
while(min<=max){
int mid=(min+max)/2;
if(num>arr[mid]){
min=mid+1;
}else if (num<arr[mid]){
max=mid-1;
}else{
return mid;
}
}
//找不到,返回-1
return -1;
}
4.冒泡排序补充
//进行length-1次排序
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1-i; j++) {
//将最大的元素放到最尾端
if (array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
Date
1.构造方法
new Date()//获取起始时间到当前时间的毫秒值
new Date(毫秒值L) //将指定毫秒值转换为Date对象
2.成员方法
setTime(毫秒值L)//将指定毫秒值传入Date对象
getTime()//获得当前Date对象的毫秒值
SimpleDateFormat
1.构造方法
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
2.成员方法
format(Date)
格式化:将Date对象按构造方法指定的形式转化
parse(String)
解析:将指定格式的字符串转化成Date对象类型
Calendar
1.获取Calendar对象
Calendar是抽象类,不可以直接实例化,但可以调用静态方法getInstance()获取对象
Clendar c=Clendar.getInstance();
2.常用方法
set(int field,int vaule)//通过set修改日历指定枚举的字段信息
field为指定的字段用Calendar.XXX的形式操作
Calendar.YEAR/Calendar.MONTH(0-11)/Calendar.DATE
getTime()//获得当前时间日期对象
getTimeInMillis();//获得当前时间毫秒值
add(int field,int amount)//对指定字段信息进行增减操作
BigDecimal类
1.获取对象
只有两种方式
构造器
new BigDecimal(String)
静态方法
BigDecimal.valueOf(double)
2.常用方法
add()加
subtract()减
multiple()乘
divide()除
当遇到divide无线循环结果时
divide(bd2,保留小数位数,RoundingMode.HALF_UP(舍入规则))
Lambda表达式(函数编程思想)
1.使用前提
有接口,有且只有一个抽象方法
2.Lambda的格式
(参数列表)->{方法体
3.Lambda省略格式
当只有一个参数时小括号可以省略,参数类型可以省略,方法体只有一个语句大括号,分号,renurn都能省略
4.用Lambda实现多态
- 写一个接口
- 写一个useXXX方法,参数类型是接口
- 调用方法,传入匿名内部类
- 如果是函数式接口使用Lambda表达式