java中使用Lambda对数组排序

时间:2025-03-27 13:29:50
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("---------------------------------"); //先使用对其排序,重写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("----------------------------"); //使用对其排序,重写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()));//简化一下 } }

相关文章