为什么枚举要实现接口?
261
2022-08-31
Java中lambda表达式的基本运用
目录一、实现接口二、数字排序三、字符串排序方法四、对象排序总结
一、实现接口
调用一个接口中的方法,传统方法:接口类A:
package lombda;
/**
* @author yeqv
* @program A2
* @Classname A
* @Date 2022/1/25 20:38
* @Email w16638771062@163.com
*/
public interface A {
int po(int i);
}
实现接口:
package lombda;
/**
* @author yeqv
* @program A2
* @Classname B
* @Date 2022/1/25 20:43
* @Email w16638771062@163.com
*/
public class B implements A {
public int po(int i) {
return i * i;
}
}
调用接口中的方法po()
package lombda;
/**
* @author yeqv
* @program A2
* @Classname LB1
* @Date 2022/1/25 20:35
* @Email w16638771062@163.com
*/
public class LB1 {
public static void main(String[] args) {
A ab = new B();
System.out.println(ab.po(5));
}
}
运用lambda表达式后的代码可以直接调用接口A中的方法,不用再创建个类实现接口。
package lombda;
/**
* @author yeqv
* @program A2
* @Classname LB1
* @Date 2022/1/25 20:35
* @Email w16638771062@163.com
*/
public class LB1 {
public static void main(String[] args) {
var ab = (A) x -> x * x;
System.out.println(ab.po(5));
}
}
二、数字排序
package lombda;
import java.util.Arrays;
import java.util.Random;
/**
* @author yeqv
* @program A2
* @Classname LB1
* @Date 2022/1/25 20:35
* @Email w16638771062@163.com
*/
public class LB1 {
public static void main(String[] args) {
//定义数组
Integer[] integers = new Integer[]{1, 23, 6, 8, 2, 3};
System.out.println(Arrays.toString(integers));
//正序排序
Arrays.sort(integers);
System.out.println(Arrays.toString(integers));
//逆序排序
Arrays.sort(integers, (a, b) -> b - a);
System.out.println(Arrays.toString(integers));
//乱序排序
Random random = new Random();
Arrays.sort(integers, (a, b) -> random.nextBoolean() ? 1 : -1);
System.out.println(Arrays.toString(integers));
}
}
三、字符串排序方法
package lombda;
import java.util.Arrays;
import java.util.Random;
/**
* @author yeqv
* @program A2
* @Classname LB1
* @Date 2022/1/25 20:35
* @Email w16638771062@163.com
*/
public class LB1 {
public static void main(String[] args) {
/* //定义数组
Integer[] integers = new Integer[]{1, 23, 6, 8, 2, 3};
System.out.println(Arrays.toString(integers));
//正序排序
Arrays.sort(integers);
System.out.println(Arrays.toString(integers));
//逆序排序
Arrays.sort(integers, (a, b) -> b - a);
System.out.println(Arrays.toString(integers));
//乱序排序
Random random = new Random();
Arrays.sort(integers, (a, b) -> random.nextBoolean() ? 1 : -1);
System.out.println(Arrays.toString(integers));*/
//定义字符串数组
String[] strings = new String[]{"asd", "rtyuj", "vgj", "bdf"};
System.out.println(Arrays.toString(strings));
//正序
Arrays.sort(strings, (a, b) -> a.compareTo(b));
System.out.println(Arrays.toString(strings));
//逆序
Arrays.sort(strings, (a, b) -> b.compareTo(a));
System.out.println(Arrays.toString(strings));
//乱序
Random random = new Random();
Arrays.sort(strings, (a, b) -> random.nextBoolean() ? 1 : -1);
System.out.println(Arrays.toString(strings));
}
}
四、对象排序
先建立个User类
package lombda;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author yeqv
* @program A2
* @Classname User
* @Date 2022/1/25 21:26
* @Email w16638771062@163.com
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
}
再进行排序
package lombda;
import java.util.ArrayList;
import java.util.List;
/**
* @author yeqv
* @program A2
* @Classname LB2
* @Date 2022/1/25 21:27
* @Email w16638771062@163.com
*/
public class LB2 {
public static void main(String[] args) {
//定义一个集合
List
//以user对象的id来排序
list.sort((a, b) -> a.getId() - b.getId());
System.out.println(list);
}
}
总结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~