Day28-Java基础之Arrays类和lambda表达式

Arrays类

复制代码
//Arrays类
int[] arr={1,2,3,4,5,6};
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.binarySearch(arr,3));//不存在返回-插入点再-1
int[] newArr=Arrays.copyOf(arr,10);
System.out.println(Arrays.toString(newArr));
int[] newArr2=Arrays.copyOfRange(arr,0,3);//包头不包尾
Arrays.fill(arr,100);
Arrays.sort(arr);
Integer[] integers={1,2,3,2,1,7};
//第二个参数是一个接口
Arrays.sort(integers,new Comparator<Integer>(){//二分加插入排序
    public int compare(Integer o1, Integer o2){
        return o1-o2;//返回负数插在前面,返回正数插在后面,0也是后面
    }
});

lambda表达式

复制代码
//lambda表达式
Arrays.sort(integers,(Integer o1,Integer o2)->{
        return o1-o2;
    }
);
//(形参)->{方法体}
//可以简化匿名内部类的书写,只能简化函数式接口
//调用方法的形参是接口,就要调用这个接口的实现类对象
method(()->{
    System.out.println("在游泳");
});
//形参只有一个小括号可以省略,方法体只有一行大括号可以不写,参数类型可省略
Arrays.sort(integers,(o1,o2)->o1-o2);
复制代码
public static void method(Swim swim){
    swim.swimming();
}
复制代码
interface Swim{
    public abstract void swimming();
}
相关推荐
谷粒.1 小时前
Cypress vs Playwright vs Selenium:现代Web自动化测试框架深度评测
java·前端·网络·人工智能·python·selenium·测试工具
Dev7z2 小时前
基于MATLAB数学形态学的边缘检测算法仿真实现
算法·计算机视觉·matlab
uzong5 小时前
程序员从大厂回重庆工作一年
java·后端·面试
kyle~5 小时前
C++---value_type 解决泛型编程中的类型信息获取问题
java·开发语言·c++
开心香辣派小星9 小时前
23种设计模式-15解释器模式
java·设计模式·解释器模式
风筝在晴天搁浅9 小时前
代码随想录 718.最长重复子数组
算法
kyle~9 小时前
算法---回溯算法
算法
Halo_tjn9 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
star _chen9 小时前
C++实现完美洗牌算法
开发语言·c++·算法
hzxxxxxxx9 小时前
1234567
算法