java基础之Collections比较对象

2022年8月22日09:13:35

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

  • 作者:weixin_33888907
  • 原文链接:https://blog.csdn.net/weixin_33888907/article/details/93566457
    更新时间:2022年8月22日09:13:35 ,共 1082 字。