方法一

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;
}
}

最新文章

  1. Integer to English Words
  2. jquery 购物车飞入效果
  3. XCodeo如何去除多余的模拟器---学习笔记七
  4. 【CodeVS 1218】【NOIP 2012】疫情控制
  5. 2013年7月份第4周51Aspx源码发布详情
  6. POJ2739 - Sum of Consecutive Prime Numbers(素数问题)
  7. Hive 创建和生成Rcfile 和SequenceFile格式的表
  8. MapReduce中的排序
  9. 利用glibc中锁结构的信息解决死锁问题
  10. Struts2中在Action里面向前端页面传值的方法总结
  11. [SQL]死锁处理语句
  12. NOIP模拟赛---1.生气的LJJ (anger)
  13. ConnectString ()函数的介绍
  14. 一个Bootstrap的例子--关于validate
  15. Linux多线程实践(4) --线程特定数据
  16. mac上Python多版本共存
  17. CNN:人工智能之神经网络算法进阶优化,六种不同优化算法实现手写数字识别逐步提高,应用案例自动驾驶之捕捉并识别周围车牌号—Jason niu
  18. EM算法——Expectation-Maximization
  19. OSLab文件描述符
  20. HTML5 CANVAS 弹幕插件

热门文章

  1. easyui&amp;8Jquery ztree树插件
  2. HDU 1159 Common Subsequence:LCS(最长公共子序列)
  3. Go指针
  4. 关于MVC项目中的主管放行
  5. 为什么新生代内存需要有两个Survivor区
  6. cycript
  7. DHCP解析
  8. 再起航,我的学习笔记之JavaScript设计模式16(享元模式)
  9. jQuery遍历-同胞
  10. Mysql中使用聚合函数对null值的处理