📌  相关文章
📜  在Java ArrayList 中查找最小值或最大值

📅  最后修改于: 2022-05-13 01:54:30.195000             🧑  作者: Mango

在Java ArrayList 中查找最小值或最大值

最小值为最小值,最大值为最大值。这里的主要任务是从 ArrayList 中找到最小值和最大值。考虑一个 ArrayList 的例子,我们需要找到最大和最小的元素。

例子:

Input List: {10, 20, 8, 32, 21, 31};

Output: 

Maximum is: 32

Minimum is: 8

方法 1:通过迭代 ArrayList 值

  1. 首先,我们需要初始化 ArrayList 值。
  2. 然后可以使用size()函数找到 ArrayList 的长度。
  3. 之后,ArrayList 的第一个元素将存储在变量 min 和 max 中。
  4. 然后使用 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。

方法:

  1. 首先,我们需要创建一个类。
  2. 然后需要创建一个整数 ArrayList 来存储元素。之后,应该借助 size() 方法计算 ArrayList 的长度。
  3. ArrayList 的长度将用于遍历循环并打印 ArrayList 的元素。
  4. 然后,将使用集合类的 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进行排序

  1. 首先,我们需要导入Collections类,因为在Collections类中有一个方法叫做Collections.sort() 我们需要对未排序的数组进行排序。
  2. 之后,将创建整数 ArrayList,然后我们将使用size()函数计算长度。
  3. 然后,ArrayList 将使用预定义的函数进行排序,默认情况下,它将仅按升序排序。
  4. 为了从 ArrayList 中找到最小值和最大值,我们只需要找到 ArrayList 的第一个和最后一个元素,因为 ArrayList 是按升序排序的,那么第一个元素将最小,最后一个元素将在所有元素中最大要素。
  5. 可以使用arr.get(0)找到第一个元素,因为它出现在第一个位置并且数组的索引从 0 开始。
  6. 可以使用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