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://img-blog.csdnimg.cn/img_convert/cd96126ab02a87d7094bbdc5ade1f3cf.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://img-blog.csdnimg.cn/img_convert/fd8f61218f29e93104a8323fb6796103.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://img-blog.csdnimg.cn/img_convert/e4665a5bdb05ae4b3958bc5e2b46113a.png)