Java中的Collections min()方法及示例
min(Collection<? extends T> coll)
java.util.Collections类中的 min() 方法是用于返回给定集合中的最小元素的,该方法根据元素的自然顺序进行比较。集合中的所有元素都必须实现Comparable接口,并且所有元素必须是相互可比较的(即集合中的任何元素e1和e2的e1.compareTo(e2)不得抛出ClassCastException)。
这个方法遍历整个集合,因此它需要与集合大小成比例的时间。
语法:
public static <T
extends Object & Comparable<? super T>> T
min(Collection<? extends T> coll)
参数: 该方法以集合coll作为参数,决定其最小元素。
返回值: 该方法根据元素的自然顺序返回给定集合中的最小元素。
异常: 如果集合为空,则此方法会引发 NoSuchElementException 。
以下是说明min()方法的示例
示例1:
// Java程序演示
//<Integer>值的min()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
//创建链接列表对象
List<Integer> list = new LinkedList<Integer>();
//填充列表
list.add(10);
list.add(20);
list.add(30);
list.add(40);
//打印列表
System.out.println("List: " + list);
//使用min()方法获取最小值
int min = Collections.min(list);
//打印最小值
System.out.println("Minimum value is: " + min);
}
catch (NoSuchElementException e) {
System.out.println("异常抛出:" + e);
}
}
}
List: [10, 20, 30, 40]
Minimum value is: 10
示例2: 演示NoSuchElementException
// Java程序演示
//NoSuchElementException的min()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
//创建链接列表对象
List<Integer> list = new LinkedList<Integer>();
//打印列表
System.out.println("List: " + list);
//使用min()方法获取最小值
System.out.println("Trying to get"
+ " the minimum value "
+ "with empty list");
int min = Collections.min(list);
//打印最小值
System.out.println("Min value is: " + min);
}
catch (NoSuchElementException e) {
System.out.println("异常抛出:" + 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.Collections类中的 min(Collections, Comparator) 方法用于根据指定的比较器引起的顺序返回给定集合的最小元素。集合中的所有元素必须通过指定的比较器相互可比。
由于该方法迭代整个集合,因此它需要与集合大小成比例的时间。
参数: 此方法将以下参数作为参数:
- coll- 将要确定最小元素的集合。
- comp- 确定最小元素的比较器。 null值表示应使用元素的自然排序。
返回值: 该方法根据指定的比较器返回给定集合的最小元素。
异常: 如果集合为空。则该方法抛出NoSuchElementException。
下面是演示min()方法的示例
示例1:
//Java program to demonstrate
//min()method
//for Integer
importjava.util.*;
publicclassGFG1 {
publicstaticvoidmain(String[]argv)
throwsException
{
try {
// create link list object
Listlist=newLinkedList();
// 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
intmin=Collections.min(list,
Collections.reverseOrder());
// printing the min value
System.out.println("Min value by reverse order is: "
+min);
}
catch(NoSuchElementExceptione) {
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
importjava.util.*;
publicclassGFG1 {
publicstaticvoidmain(String[]argv)
throwsException
{
try {
// create link list object
Listlist=newLinkedList();
// 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");
intmin=Collections.min(list,
Collections.reverseOrder());
// printing the min value
System.out.println("Min value is: "+min);
}
catch(NoSuchElementExceptione) {
System.out.println("Exception thrown :"+e);
}
}
}
List: []
Trying to get the minimum value with empty list
Exception thrown : java.util.NoSuchElementException