API(Arrays)
public class LambdaDemo1 {
public static void main(String[] args) {
//Lambda完整版
Integer[] arr = {1, 3, 2, 4, 8, 6, 5, 7, 9};
Arrays.sort(arr, (Integer o1, Integer o2) -> {
return o2 - o1;
});
System.out.println(Arrays.toString(arr));
//Lambda省略版
//省略规则:
//1.参数类型可以省略
//2.如果只有一个参数,参数类型可以省略,同时()也可以省略
//3.如果Lambda表达式的方法体代码只有一行代码,可以省略大括号不写,同时要去掉分号
Integer[] arr2 = {1, 3, 2, 4, 8, 6, 5, 7, 9};
Integer[] arr6 = {1, 4, 3, 2, 5, 8, 7, 6, 9};
Arrays.sort(arr6, (o1, o2) -> o2 - o1);
System.out.println(Arrays.toString(arr6));
//原版
method(new Swim() {
@Override
public void swimming() {
System.out.println("swimming");
}
});
//用lambda表达式简化
method(() -> {
System.out.println("swimming");
});
}
public static void method(Swim s) {
s.swimming();
}
}
interface Swim {
public abstract void swimming();
}
--------------------------------------
public class LambdaTest1 {
public static void main(String[] args) {
String[] arr={"123","12","1","1234"};
Arrays.sort(arr,(o1,o2)->o1.length() -o2.length());
System.out.println(Arrays.toString(arr));
}
}
-----------------------------
public class Test1 {
public static void main(String[] args) {
Girlfriend g1=new Girlfriend("haha",18,161);
Girlfriend g2=new Girlfriend("xiangxiang",19,174);
Girlfriend g3=new Girlfriend("baby",19,174);
Girlfriend[] arr={g1,g2,g3};
Arrays.sort(arr,(o1,o2)->{
int temp=o1.getAge()-o2.getAge();
temp = temp == 0 ? o1.getHigh() - o2.getHigh() : temp;
temp = temp == 0 ? o1.getName().compareTo(o2.getName()) : temp;
//return temp;
if(temp>0){
return 1;//升序
}else if(temp<0){
return -1;//降序
}else{
return 0;//相等
}
});
System.out.println(Arrays.toString(arr));
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!