Java程序返回列表中最大元素


我们可以使用数组循环从列表中返回最大元素。主要方法是比较模型。列表中存在的最大数字将与该特定列表中存在的所有元素进行比较。该过程将“n”视为输入的数量,这些输入将作为数据值存储在数组中。之后,程序将在循环细化后在输出控制台上显示最大元素。

在今天的这篇文章中,我们将帮助您理解和编写一些Java代码,通过这些代码您可以从数组列表中找到最大元素。

如何使用Java从数组中选取最大数字?

我们可以通过对数组排序来找到最大数字。定义一个void ArrayList并将数组的所有元素添加到其中。将ArrayList传递给Collections.max(),整个过程将运行。

  • 对于此操作,您可以在开始时将一组输入声明为数组形式。这为执行逻辑创建了一个基础。该算法使用此循环来找出特定结果(该循环的最大数字)。

示例

让我们举个例子。

arr[]= {1,10,4,15,9,85,63,108}

输出

Output: 108
  • 要从数组中找到最大数字,通常使用两种类型的函数:

    • Max () – 用于从列表中查找最大函数

    • for循环 - 用于对每个元素进行迭代。

  • 首先,您应该声明一个数组,然后对其进行初始化。对于迭代,我们需要两个循环,然后比较元素以获得最大数字,数据需要以降序交换。

查找列表中最大元素的算法

以下是使用Java查找列表中最大元素的一般算法:

  • 步骤1 - 开始

  • 步骤2 - 初始化arr[]

  • 步骤3 - max=arr[0]

  • 步骤4 - i=0;i<arr.length;i++

  • 步骤4 - if (arr[i]>max)max=arr[i]

  • 步骤5(1) - 打印

  • 步骤5(2) - 打印MAX

  • 步骤6 - 终止

语法

有两种方法可以执行此操作。在下面的语法中,描述了这两种方法。

  • coll表示:将从中过滤出最大元素的总集合。

  • comp表示:可以执行操作的比较器。

public static <T extends an Object & make it Comparable<? super T>> T max(Collection of data <? extends T> coll)  
  or;
public static <T> T max(Collection of the data <? extends T> coll, Comparator<? super T> comparator)

以下方法可用于查找数组列表中的最大值:

  • 方法1 - 迭代方法

  • 方法2 - Java 8流中的Int方法

  • 方法3 - max()方法

  • 方法4 - 使用ForEach循环

  • 方法5 - 使用库函数

使用迭代方法

在这种方法中,时间复杂度基于给定数据集的大小为0。并且不需要辅助空间。

  • 递归方式获取最大值。

  • 方法的基本条件:if,(m==1)返回值arr[0]

  • 否则,获取返回的值:最大值(arr[n-1],getmax(arr[],n-1))

示例

import java.util.*;  
public class CollectionsofmaxfileARRDD {  
   public static void main (String[] args) {  
      List<Integer> list = Arrays.asList(2010, 1010, 1001, 1400, 2501);  
      Integer max = Collections.max(list, Collections.reverseOrder());  
      System.out.println("Output from the particular string: "+max);  
   }  
}    

输出

Output from the particular string: 1001

在Java 8流中使用Int方法

在这种方法中,时间复杂度完全为0,辅助空间不需要额外的空间,因为它是一个常数。

示例

import java.util.Arrays;
public class arbrdd {
   public static void main (String[] args){
      int arr[] = {07, 16, 10, 2001, 1997};
      int max = Arrays.stream(arr).max().getAsInt();
      System.out.println("Largest array is found from the array list" +max);
   }
}     

输出

Largest array is found from the array list2001

使用max()方法

使用max()方法,我们将使用以下过程构建Java代码:

  • 使用max声明变量

  • 用数组的第一个元素初始化

  • 运行循环

  • array[a]>maximum,设置max = array[a]

  • 打印输出

示例

import java.util.*;
public class arbrdd{
   public static void main(String[] args){
      int arr[] = {10, 07, 16, 2001,1997};
      List<Integer> list = new ArrayList<>();
      for(int a=0;a<arr.length;a++){
         list.add(arr[a]);
      }
      System.out.println("Largest array present in the particular array list is " +Collections.max(list));
   }
}    

输出

Largest array present in the particular array list is 2001

使用ForEach循环

使用ForEach循环,我们将使用以下过程构建Java代码:

  • 调用递归say get max

  • 操作的基本条件:if,(a==1)返回array[0]

  • 否则,返回max(array[a-1],getmax(array,a-1))

示例

import java.util.Arrays;
import java.util.List;
public class maxarrayval {
   public static void main(String[] args){
      List<Integer> arrayList
      = Arrays.asList(10, 07, 16, 2001, 1997, 10052022);
      int maxValue0710 = Integer.MIN_VALUE;
      for (Integer integer : arrayList) {
         if (integer > maxValue0710)
         maxValue0710 = integer;
      }
      System.out.println("The maximum value present in the array is " + maxValue0710);
   }
}   

输出

The maximum value present in the array is 10052022

使用库函数

使用库函数,我们将使用以下过程构建Java代码:

  • Maximum(arr,0,end)

  • 从该数组列表中读取倒数第二个元素

  • 查找数组数据中倒数第二个和最后一个元素之间的较大元素

  • 最大值递归迭代

  • 结束

示例

import java .io.*;
import java.util.*;
public class ARBRDD{
   static int largest(int []arr,int n){
      Arrays.sort(arr);
      return arr[n - 1];
   }
   static public void main (String[] args){
      int []arr = {07, 10, 2001,1997, 10052022};
      int n = arr.length;
      System.out.println(largest(arr, n));
   }
}   

输出

10052022

结论

在本文中,我们学习了如何使用Java从数组列表中返回最大元素。

通过此处提到的逻辑编写的可能条件和程序,我们如何使用数组循环以及此处编写的一些代码的所有可能条件和过程来满足每个理论。

更新于:2023年3月31日

3K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.