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();
}
相关推荐
To_OC5 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
金銀銅鐵9 小时前
[Python] 扩展欧几里得算法
python·数学·算法
狼爷9 小时前
吃透 Java Function 接口,搞定 99% 的 Stream 场景
java·函数式编程
To_OC11 小时前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
祎雪双十Gy13 小时前
从 DataX 的配置加载说起:我用 FastJson2 做了一个轻量级动态配置管理库
java·后端
小锋java123413 小时前
分享一套锋哥原创的SpringBoot4+Vue3宠物领养网站系统
java
考虑考虑16 小时前
Java实现hmacsha1加密算法
java·后端·java ee
掉鱼的猫17 小时前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
plainGeekDev17 小时前
广播接收器 → Flow + Lifecycle
android·java·kotlin
plainGeekDev17 小时前
EventBus → SharedFlow
android·java·kotlin