Lambda表达式
接口
public interface WxUtil {
int pf(int...i);
default void show(){
}
}
小练习
public class Lambda1 {
public static void main(String[] args) {
WxUtil wu = a -> {
int t = 0;
for(int i=0;i<a.length;i++){
t+=a[i];
}
return t;
};
System.out.println(wu.pf(1,6,2,1,99,22,35));
List<String> list = List.of("aa","cc","ee");
list.forEach(i->System.out.println(i));
list.forEach(System.out::println);
for(String s : list){
System.out.println(s);
}
}
}
结果
![image-20220929204459118](https://i-blog.csdnimg.cn/blog_migrate/52af1ab337c3f4edb4aa047284af27d4.png)
排序
public class Lambda2 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(List.of(1, 5, 10, 2, 3, 9));
System.out.println(list);
Collections.shuffle(list);
System.out.println(list);
Collections.sort(list);
System.out.println(list);
Collections.sort(list, (o1, o2) -> o2 - o1);
System.out.println(list);
}
}
结果
![image-20220929204646720](https://i-blog.csdnimg.cn/blog_migrate/447f0b109f02eddc49f1fb9f9b0cd7c2.png)
平方
public class Lambda3 {
public static void main(String[] args) {
//UnaryOperator<Integer> u = i -> i * i;
//System.out.println(u.apply(3));
List<Integer> list = new ArrayList<>(List.of(1,2,3,4,5));
//list.stream().filter(e->e%2==0).forEach(e->System.out.printf("%03d%n",e));
list.stream().filter(e->e%2==0).forEach(System.out::print);
list.stream().filter(e->e%2==0).forEach(System.out::println);
System.out.println(list);
for(int i=0;i<list.size();i++){
list.set(i,list.get(i)*list.get(i));
}
System.out.println(list);
//
List<Integer> list2 = list.stream().map(i->i*i).collect(Collectors.toList());
System.out.println(list2);
}
}
结果
![image-20220929205205088](https://i-blog.csdnimg.cn/blog_migrate/41b1fa9da512abd552452fceeab0a3f4.png)