Lambda表达式的简单练习
需求:创建person数组,并且对person按照年龄进行升序排列。
person类:
public class person {
private String name;
private int age;
public person(String name, int age) {
this.name = name;
this.age = age;
}
public person() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
利用Lambda表达式进行年龄的升序排列:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
public class Demo01Arrays {
public static void main(String[] args) {
//使用数组储存多个person对象
person[] p = {
new person("张三", 32),
new person("李四", 19),
new person("王五", 23)
};
//对数组中的对象按照年龄进行升序排
//内部类方式进行
// Arrays.sort(p, new Comparator<person>() {
// @Override
// public int compare(person o1, person o2) {
// return o1.getAge()-o2.getAge();
// }
// });
//使用lambda表达式进行 A.参数的类型可以不写,例如person o1可以直接写成o1
Arrays.sort(p, (o1, o2) -> {
return o1.getAge() - o2.getAge();
});
// 遍历数组进行输出
for (person s :
p) {
System.out.println("s = " + s);
}
System.out.println("###########################################");
}
}