L
A D I N G

java基础之Collections比较对象

1.如何根据属性比较对象

package com.it.huanyu;  public class Person { 	 	private int age; 	 	/** 	 * 1.匿名内部类 	 * 2.比较的(利用匿名内部类 	 * 3.动态代理的问题 	 * @param name 	 */ 	 	public void say(String name) { 		System.out.println("自己的"+name); 		 	} 	 	public Person() { 	} 	public Person(int age) { 		super(); 		this.age = age; 	}   	public int getAge() { 		return age; 	}  	public void setAge(int age) { 		this.age = age; 	} 	 	 }

2.匿名内部类和用Collections.sort比较大小

package com.it.huanyu;  import java.util.ArrayList; import java.util.Collections; import java.util.Comparator;   public class Test { 		 	public static void main(String[] args) { 		Person p2=new Person(){ 			public void say(String name) { 				System.out.println("匿名内部类"+name); 				 			} 		}; 		p2.say("网"); 		 		ArrayList<Person> lis=new ArrayList<>(); 		 		Person p1 = new Person(19); 		Person p5 = new Person(11); 		Person p3 = new Person(36); 		Person p14 = new Person(89); 		lis.add(p1); 		lis.add(p5); 		lis.add(p3); 		lis.add(p14); 		for (Person person : lis) { 			System.err.println(person.getAge()); 		} 		/** 		 * 比较排序的作用 		 */ 		Collections.sort(lis,new Comparator<Person>() { 			public int compare(Person o1, Person o2) { 				return o1.getAge()-o2.getAge(); 			} 		}); 		for (Person person : lis) { 			System.err.println(person.getAge()); 		} 		 		 	} 	/** 	 * 比较对象的年龄大小,输出年龄大的 	 */ 	 	 	 	 }

转载于:https://www.cnblogs.com/liushisaonian/p/9690761.html