对象数组中获取最大值的方法分享


转自:

http://www.java265.com/JavaJingYan/202205/16519135073297.html

下文笔者讲述从一个数组列表中获取最大值的方法分享,如下所示:

实现思路:
    使用Collections.max即可求出一个对象数组中的最大值
package com.java265.other;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test16 {
    /**
     * java265.com 示例程序
     */
    public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add(new User01(100));
        list.add(new User01(200));
        list.add(new User01(50));
        list.add(new User01(60));
        list.add(new User01(70));

        // 求对象数组的最大值
        User01 userMax = Collections.max(list);
        System.out.println("list中最大值:" + userMax);
    }
}

class User01 implements Comparable {
    public int age;

    public User01() {
    }

    public User01(int age) {
        this.age = age;
    }

    public String toString() {
        return "[age:" + age + "]";
    }

    @Override
    public int compareTo(Object o) {
        User01 val = (User01) o;
        if (age == val.age) {
            return 0;
        }
        return age > val.age ? 1 : -1;
    }
}

------运行以上代码,将输出以下信息-----
list中最大值:[age:200]