Java Collections的min和max方法
来源:互联网 发布:mac系统 流程图 编辑:程序博客网 时间:2024/05/22 17:21
方法一
public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)
此方法需要传入一个实现了Comparable接口的对象类的集合
创建实现了Comparable的对象类
public class Student1 implements Comparable<Student1> { private String name; private int age; public Student1() { } public Student1(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public int compareTo(Student1 s) { int num = this.age - s.age; int num1 = (num == 0 ? this.name.compareTo(s.name) : num); return num1; }}
调用
import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Student1Test { public static void main(String[] args) { List<Student1> list1 = new ArrayList<Student1>(); list1.add(new Student1("林青霞", 27)); list1.add(new Student1("风清扬", 30)); list1.add(new Student1("刘晓曲", 28)); list1.add(new Student1("武鑫", 29)); list1.add(new Student1("林青霞", 27)); Student1 min=Collections.min(list1); System.out.println(min.getName()+"---"+min.getAge()); Student1 max=Collections.max(list1); System.out.println(max.getName()+"---"+max.getAge()); }}
方法二
public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp)
此方法传入一个对象类的集合,以及一个比较器
创建对象类
public class Student2 { private String name; private int age; public Student2() { } public Student2(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; }}
调用
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Student2Test { public static void main(String[] args) { List<Student2> list2 = new ArrayList<Student2>(); list2.add(new Student2("林青霞", 27)); list2.add(new Student2("风清扬", 30)); list2.add(new Student2("刘晓曲", 28)); list2.add(new Student2("武鑫", 29)); list2.add(new Student2("林青霞", 27)); Student2 min=Collections.min(list2,new MyComparator()); System.out.println(min.getName()+"---"+min.getAge()); Student2 max=Collections.max(list2,new MyComparator()); System.out.println(max.getName()+"---"+max.getAge()); }}class MyComparator implements Comparator<Student2> { @Override public int compare(Student2 s1, Student2 s2) { int num = s1.getAge() - s2.getAge(); int num1 = (num == 0 ? s1.getName().compareTo(s2.getName()) : num); return num1; }}
阅读全文
0 0
- Java Collections的min和max方法
- max(min)-device-width和max(min)-width的区别
- max(min)-device-width和max(min)-width的区别
- java.util.Collections.max()方法实例
- 设置栈的min或者max方法
- java数据类型的MAX,MIN,SIZE
- java[min,max]之间的随机整数
- 一个Max和Min的技巧
- max函数和min 函数的用法
- Min-Min算法和Max-Min算法
- Min-Min算法和Max-Min算法
- Min-Min算法和Max-Min算法
- min和max函数
- 处理 min 和 max
- java快速寻找一个数组的最大值或最小值, min, max,三种方法
- 解决IE6不支持min-width和不支持max-width的方法。
- Max Min的使用
- std::min and std::max与windows.h定义的min和max宏相冲突.
- java StringBuilder类中的常用方法 及StringBuilder与StringBuffer的区别
- JS中操作数组的常用函数
- JZOJsenior1384. Alice的游戏
- centos7下KVM的网桥模式配置
- MFC菜单栏的创建和使用
- Java Collections的min和max方法
- String的使用
- C语言及程序设计初步 Lesson 7 项目:1计算正差值,2判断输出三个整数中的最大值,3计算周工资
- 等差数列
- SpringAOP技术学习---Day1
- URDF文件的生成和编写(四)
- 【神奇的技巧】leetcode
- C# 中 使用Connection 打开/关闭数据库
- Android权限标签uses-permission