在Java ArrayList 中查找最小值或最大值
最小值为最小值,最大值为最大值。这里的主要任务是从 ArrayList 中找到最小值和最大值。考虑一个 ArrayList 的例子,我们需要找到最大和最小的元素。
例子:
Input List: {10, 20, 8, 32, 21, 31};
Output:
Maximum is: 32
Minimum is: 8
方法 1:通过迭代 ArrayList 值
- 首先,我们需要初始化 ArrayList 值。
- 然后可以使用size()函数找到 ArrayList 的长度。
- 之后,ArrayList 的第一个元素将存储在变量 min 和 max 中。
- 然后使用 for 循环逐个遍历 ArrayList 元素,以便从数组列表中找到最小值和最大值。
Java
// Java program to find the minimum and
// maximum value of the ArrayList
import java.util.*;
public class Max {
public static void main(String args[])
{
// initializing the ArrayList elements
ArrayList arr = new ArrayList<>();
arr.add(10);
arr.add(20);
arr.add(8);
arr.add(32);
arr.add(21);
arr.add(31);
int min = arr.get(0);
int max = arr.get(0);
// store the length of the ArrayList in variable n
int n = arr.size();
// loop to find minimum from ArrayList
for (int i = 1; i < n; i++) {
if (arr.get(i) < min) {
min = arr.get(i);
}
}
// loop to find maximum from ArrayList
for (int i = 1; i < n; i++) {
if (arr.get(i) > max) {
max = arr.get(i);
}
}
// The result will be printed
System.out.println("Maximum is : " + max);
System.out.println("Minimum is : " + min);
}
}
Java
// Java program to find the minimum and
// maximum element of the list using
// Collection class's method
import java.util.ArrayList;
import java.util.Collections;
public class MinMax {
public static void main(String args[])
{
// Creating arraylist
ArrayList arr = new ArrayList();
// Adding object in arraylist
arr.add(10);
arr.add(20);
arr.add(5);
arr.add(8);
// Finding the size of ArrayList
int n = arr.size();
// printing the ArrayList elements
System.out.println("ArrayList elements are :");
for (int i = 0; i < n; i++) {
System.out.print(arr.get(i) + " ");
}
System.out.println();
// Finding the minimum and maximum from the
// arraylist using min and max method of collection
// class
int max = Collections.max(arr);
System.out.println("Maximum is : " + max);
int min = Collections.min(arr);
System.out.println("Minimum is : " + min);
}
}
Java
// Java program to get the minimum and
// maximum value after the sorting the ArrayList
// using Collection class function
import java.util.*;
import java.util.Collections;
public class MaxMinSort {
public static void main(String args[])
{
// Creating arraylist
ArrayList arr = new ArrayList();
// Adding object in arraylist
arr.add(10);
arr.add(12);
arr.add(5);
arr.add(8);
arr.add(21);
arr.add(16);
arr.add(15);
// Storing the size of the ArrayList in variable n
int n = arr.size();
int i;
System.out.println("Elements of the ArrayList : ");
for (i = 0; i < n; i++) {
System.out.print(arr.get(i) + " ");
}
System.out.println();
// The ArrayList will be sorted using predefined
// function
Collections.sort(arr);
System.out.println("ArrayList after sorting : ");
for (i = 0; i < n; i++) {
System.out.print(arr.get(i) + " ");
}
System.out.println();
// First and last element of the ArrayList gets stored
// into min and max variable
int min = arr.get(0);
int max = arr.get(n - 1);
System.out.println("Maximum is : " + max);
System.out.println("Minimum is : " + min);
}
}
输出
Maximum is : 32
Minimum is : 8
方法二:使用集合类方法
我们可以使用Java集合类的min()和max()方法。 Java中的集合基本上是一个框架,它提供了一种架构来累积和处理对象组。 Java Collection 框架提供了很多类,例如ArrayList、Vector、LinkedList、PriorityQueue、HashSet、LinkedHashSet、TreeSet。
方法:
- 首先,我们需要创建一个类。
- 然后需要创建一个整数 ArrayList 来存储元素。之后,应该借助 size() 方法计算 ArrayList 的长度。
- ArrayList 的长度将用于遍历循环并打印 ArrayList 的元素。
- 然后,将使用集合类的 min 和 max 方法从 ArrayList 中找到最小值和最大值,并将其存储在 min 和 max 变量中,然后将结果打印在屏幕上。
Java
// Java program to find the minimum and
// maximum element of the list using
// Collection class's method
import java.util.ArrayList;
import java.util.Collections;
public class MinMax {
public static void main(String args[])
{
// Creating arraylist
ArrayList arr = new ArrayList();
// Adding object in arraylist
arr.add(10);
arr.add(20);
arr.add(5);
arr.add(8);
// Finding the size of ArrayList
int n = arr.size();
// printing the ArrayList elements
System.out.println("ArrayList elements are :");
for (int i = 0; i < n; i++) {
System.out.print(arr.get(i) + " ");
}
System.out.println();
// Finding the minimum and maximum from the
// arraylist using min and max method of collection
// class
int max = Collections.max(arr);
System.out.println("Maximum is : " + max);
int min = Collections.min(arr);
System.out.println("Minimum is : " + min);
}
}
输出
Array elements are :
10 20 5 8
Maximum is : 20
Minimum is : 5
方法三:通过对ArrayList进行排序
- 首先,我们需要导入Collections类,因为在Collections类中有一个方法叫做Collections.sort() 我们需要对未排序的数组进行排序。
- 之后,将创建整数 ArrayList,然后我们将使用size()函数计算长度。
- 然后,ArrayList 将使用预定义的函数进行排序,默认情况下,它将仅按升序排序。
- 为了从 ArrayList 中找到最小值和最大值,我们只需要找到 ArrayList 的第一个和最后一个元素,因为 ArrayList 是按升序排序的,那么第一个元素将最小,最后一个元素将在所有元素中最大要素。
- 可以使用arr.get(0)找到第一个元素,因为它出现在第一个位置并且数组的索引从 0 开始。
- 可以使用arr.get(n-1)找到最后一个元素,因为 n 是数组的大小,数组索引从 0 开始,这就是为什么我们需要找到索引 n-1 中的元素。此外,这是一个排序的 ArrayList,然后最大的元素出现在最后。
Java
// Java program to get the minimum and
// maximum value after the sorting the ArrayList
// using Collection class function
import java.util.*;
import java.util.Collections;
public class MaxMinSort {
public static void main(String args[])
{
// Creating arraylist
ArrayList arr = new ArrayList();
// Adding object in arraylist
arr.add(10);
arr.add(12);
arr.add(5);
arr.add(8);
arr.add(21);
arr.add(16);
arr.add(15);
// Storing the size of the ArrayList in variable n
int n = arr.size();
int i;
System.out.println("Elements of the ArrayList : ");
for (i = 0; i < n; i++) {
System.out.print(arr.get(i) + " ");
}
System.out.println();
// The ArrayList will be sorted using predefined
// function
Collections.sort(arr);
System.out.println("ArrayList after sorting : ");
for (i = 0; i < n; i++) {
System.out.print(arr.get(i) + " ");
}
System.out.println();
// First and last element of the ArrayList gets stored
// into min and max variable
int min = arr.get(0);
int max = arr.get(n - 1);
System.out.println("Maximum is : " + max);
System.out.println("Minimum is : " + min);
}
}
输出
Elements of the array :
10 12 5 8 21 16 15
Arrays after sorting :
5 8 10 12 15 16 21
Maximum is : 21
Minimum is : 5