자바 에서 Lambda 를 사용 하여 배열 정렬

ArrayList 배열 을 사용 하여 Person 대상 을 정렬 합 니 다.
우 리 는 먼저 Person 대상 앙 을 만 듭 니 다:
package Lambda2;

public class Person {
     
    private String name;//  
    private int age;//  

    @Override
    public String toString() {
     
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public Person(String name, int age) {
     
        this.name = name;
        this.age = age;
    }

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

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

    public String getName() {
     
        return name;
    }

    public int getAge() {
     
        return age;
    }

    public Person() {
     
    }
}


그리고 우 리 는 Lambda 표현 식 을 사용 하여 Person 을 정렬 합 니 다.
package Lambda2;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class ArrayLambda {
     
    public static void main(String[] args) {
     
        ArrayList<Person> p=new ArrayList<Person>();
        p.add(new Person("sjk",3));
        p.add(new Person("sjk2",2));
        p.add(new Person("sjk3",9));
        p.add(new Person("sjk4",7));


        System.out.println(p);
        System.out.println("---------------------------------");
		//   Collections.sort    ,  compare  
        Collections.sort(p, new Comparator<Person>() {
     
            @Override
            public int compare(Person o1, Person o2) {
     
                return o1.getAge()-o2.getAge();
            }
        });
        System.out.println(p);
        System.out.println("----------------------------");


		//  p.sort    ,  compare  
        p.sort(new Comparator<Person>() {
     
            @Override
            public int compare(Person o1, Person o2) {
     
                return o1.getAge()-o2.getAge();
            }
        });

        System.out.println(p);

        Collections.shuffle(p);//       ,       
        System.out.println(p);
        System.out.println("-------------------------");

		//  Lambda
        p.sort((Person o1, Person o2)->o1.getAge()-o2.getAge());
        System.out.println(p);
        
		System.out.println("-------------------------");
        Collections.shuffle(p);//       ,       
        p.sort(((o1, o2) -> o1.getAge()-o2.getAge()));//    
		
		
    }

}

좋은 웹페이지 즐겨찾기