java求数组中的最大值和最小值并输出_java一维数组求最大值

java求数组中的最大值和最小值并输出_java一维数组求最大值在 Java 中 求数组最大值的索引可以通过以下几种方法实现 循环遍历法 javapublic static int findMaxIndex int array int maxIndex 0 for int i 1 i if array i array maxIndex maxIndex i return maxIndex

在Java中,求数组最大值的索引可以通过以下几种方法实现:

循环遍历法

 public static int findMaxIndex(int[] array) { int maxIndex = 0; for (int i = 1; i < array.length; i++) { if (array[i] > array[maxIndex]) { maxIndex = i; } } return maxIndex; } 

使用Java 8的流API

 import java.util.Arrays; import java.util.OptionalInt; public static int findMaxIndexUsingStreams(int[] array) { OptionalInt maxIndex = Arrays.stream(array).boxed().max(Integer::compare); return maxIndex.isPresent() ? maxIndex.getAsInt() : -1; } 

使用Java 8的`Collectors.maxBy`

 import java.util.Arrays; import java.util.Comparator; import java.util.Optional; public static int findMaxIndexUsingCollectorsMaxBy(int[] array) { Optional 
  
    
  
    maxIndex = Arrays.stream(array) 
   .boxed() .collect(Collectors.maxBy(Comparator.naturalOrder())); return maxIndex.isPresent() ? maxIndex.get() : -1; } 

使用Java 8的`Arrays.stream`和`collectors.toMap`

 import java.util.Arrays; import java.util.Map; import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; public static int findMaxIndexUsingCollectorsToMap(int[] array) { Optional 
  
    
  
    > maxEntry = Arrays.stream(array) 
   .boxed() .collect(Collectors.toMap(Function.identity(), Function.identity(), (e1, e2) -> e1, LinkedHashMap::new)) .entrySet().stream() .max(Map.Entry.comparingByValue()); return maxEntry.isPresent() ? maxEntry.get().getValue() : -1; } 

以上方法都可以用来找到数组中最大值的索引。选择哪种方法取决于你的具体需求和偏好。如果你使用的是Java 8或更高版本,使用流API会更加简洁和现代化。如果你使用的是较旧的Java版本,那么循环遍历法可能是更直接的选择。

编程小号
上一篇 2025-05-13 13:56
下一篇 2025-05-13 13:53

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/84973.html