Java Collections min()方法及实例
min(Collection<? extends T> coll)
java.util.Collections 类的 min() 方法是用来返回给定集合中的最小元素,根据其元素的自然排序。集合中的所有元素必须实现可比较接口。此外,集合中的所有元素必须是相互比较的(也就是说,e1.compareTo(e2)不能对集合中的任何元素e1和e2抛出ClassCastException)。
这个方法对整个集合进行迭代,因此它需要的时间与集合的大小成正比。
语法
public static <T
extends Object & Comparable<? super T>> T
min(Collection<? extends T> coll)
参数: 该方法将集合 coll 作为参数,其最小元素需要被确定。
返回值: 本方法根据元素的自然排序,返回给定集合的最小元素。
异常: 如果集合为空,该方法会抛出 NoSuchElementException 。
下面是说明min()方法的例子
例1 :
// Java program to demonstrate
// min() method
// for <Integer> Value
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// create link list object
List<Integer> list = new LinkedList<Integer>();
// populate the list
list.add(10);
list.add(20);
list.add(30);
list.add(40);
// printing the List
System.out.println("List: " + list);
// getting minimum value
// using min() method
int min = Collections.min(list);
// printing the min value
System.out.println("Minimum value is: " + min);
}
catch (NoSuchElementException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出。
List: [10, 20, 30, 40]
Minimum value is: 10
例2: 演示NoSuchElementException
// Java program to demonstrate
// min() method for NoSuchElementException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// create link list object
List<Integer> list = new LinkedList<Integer>();
// printing the List
System.out.println("List: " + list);
// getting minimum value
// using min() method
System.out.println("Trying to get"
+ " the minimum value "
+ "with empty list");
int min = Collections.min(list);
// printing the min value
System.out.println("Min value is: " + min);
}
catch (NoSuchElementException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出。
List: []
Trying to get the minimum value with empty list
Exception thrown : java.util.NoSuchElementException
min(Collection<? extends T> coll, Comparator<? super T> comp)
java.util.Col lections类的 min(Collections, Comparator) 方法是用来返回给定集合中的最小元素,根据指定的比较器所引起的顺序。集合中的所有元素必须通过指定的比较器进行相互比较。
这个方法对整个集合进行迭代,因此它需要的时间与集合的大小成正比。
参数: 该方法需要以下参数。
- coll- 要确定其最小元素的集合。
- comp- 用来确定最小元素的比较器。一个空值表示应该使用元素的自然排序。
返回值: 该方法根据指定的比较器返回给定集合的最小元素。
异常: 如果集合为空,该方法会抛出 NoSuchElementException 。
下面是说明min()方法的例子
例1 :
// Java program to demonstrate
// min() method
// for Integer
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// create link list object
List<Integer> list = new LinkedList<Integer>();
// populate the list
list.add(10);
list.add(20);
list.add(30);
list.add(40);
// printing the List
System.out.println("List: " + list);
// getting minimum value
// using min() method
int min = Collections.min(list,
Collections.reverseOrder());
// printing the min value
System.out.println("Min value by reverse order is: "
+ min);
}
catch (NoSuchElementException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出。
List: [10, 20, 30, 40]
Min value by reverse order is: 40
例2: 演示NoSuchElementException
// Java program to demonstrate
// min() method for NoSuchElementException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// create link list object
List<Integer> list = new LinkedList<Integer>();
// printing the List
System.out.println("List: " + list);
// getting minimum value
// using min() method
System.out.println("Trying to get"
+ " the minimum value "
+ "with empty list");
int min = Collections.min(list,
Collections.reverseOrder());
// printing the min value
System.out.println("Min value is: " + min);
}
catch (NoSuchElementException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出。
List: []
Trying to get the minimum value with empty list
Exception thrown : java.util.NoSuchElementException