lambad表达式案例

  1. 案例1:

     

     代码实现:

    package 黑马程序员;

    import java.util.Arrays;
    import java.util.Comparator;

    public class text {


    public static void main(String[] args) {

    girl gf1 = new girl(18, "aa", 1.67);
    girl gf2 = new girl(19, "bb", 1.7);
    girl gf3 = new girl(20, "cc", 1.8);
    girl[] girls={gf1,gf2,gf3};
    Arrays.sort(girls, ( o1, o2) ->{
    double temp=o1.getAge()-o2.getAge();
    temp=temp==0?o1.getHeight()-o2.getHeight():temp;
    temp=temp==0?o1.getName().compareTo(o2.getName()):temp;
    if (temp>0){
    return 1;
    }else if (temp<0){
    return -1;

    } else {
    return 0;
    }
    }
    );
    System.out.println(Arrays.toString(girls));
    }


    }
    class girl{
    private int age;
    private String name;
    private double height;

    public girl(int age,String name, double height) {
    this.age = age;
    this.name = name;
    this.height = height;
    }

    public girl() {
    }

    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public double getHeight() {
    return height;
    }

    public void setHeight(int height) {
    this.height = height;
    }
    }

     

  2. 案例2:

     

     

  3.  

    案例2代码实现:

    public class text2 {
    public static void main(String[] args) {
    System.out.println(getway(20));
    }
    public static int getway(int number){
    if (number==1){
    return 1;

    }
    if (number==2){
    return 2;

    } else {
    return getway(number-1)+getway(number-2);
    }
    }
    }
  4. 
    

    斐波那契数列(不死神兔问题):特点是第3个数据是前两个数据之和

     

     

     

  5.  

    代码实现: 

    public class text2 {
    public static void main(String[] args) {
    //方法1:迭代
    int[] number=new int[12];
    number[0]=1;
    number[1]=1;
    for (int i = 2; i <number.length ; i++) {
    number[i]=number[i-1]+number[i-2];



    }
    System.out.println(number[11]);

    }

    }
  6. 代码实现2:
    public class text2 {
    public static void main(String[] args) {
    //方法2:递归
    System.out.println(getWay(12));

    }
    public static int getWay(int number){
    if (number==1||number==2){
    return 1;

    }else {
    return getWay(number-1)+getWay(number-2);

    } }
    }
posted @ 2023-03-27 12:48  为zq  阅读(18)  评论(0)    收藏  举报