java - 如何在Java列表中找到所有最大值?

标签 java arrays list collections max

我有一个存储不同数字的列表,它们中的最大值是索引下的元素:2; 4.

我想将这 2 个元素打印到控制台——作为数组中的最大数,但是 Collections.max() 方法只返回它找到的第一个最大值,即只返回索引 2 处的元素:

List<Integer> numbers = new ArrayList<Integer>();
        
        numbers.add(5);
        numbers.add(9);
        numbers.add(50);
        numbers.add(12);
        numbers.add(50);
        
        System.out.println(Collections.max(numbers));

|Output|
50

我应该使用什么代替方法 Collections.max() 来查找所有最大值?

最佳答案

这使用一次迭代来找到它们

List<Integer> numbers = new ArrayList<Integer>();
    numbers.add(5);
    numbers.add(9);
    numbers.add(50);
    numbers.add(12);
    numbers.add(50);
    int max = Integer.MIN_VALUE;
    int count = 1;
    for(int number : numbers){
        if(number > max){
            max = number;
            count = 1;
        } else if(number == max){
            count++;
        }
    }
    for(int i=0; i<count; i++){
        System.out.println(max);
    }

关于java - 如何在Java列表中找到所有最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68095082/

相关文章:

python - 使用后缀数组查找子字符串的一次出现

java - 有没有一种优雅的方法可以将 Spring 托管 bean 注入(inject) java 自定义/简单标签

Java JAX-RS 网络服务 : adding nodes to JAXB XML result as threads complete

javascript - 从嵌套数组中获取 1 个数组并存储到 React 状态

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

python - 循环中的可调用变量

.net - 有了这个 .NET 事件,传入这个 IList 实例可以吗?

java - 从另一个java类调用main方法类

java - 是否有一个 Java 线程池对象可以在可用内核之间自动对线程进行负载平衡,或者这是由 JVM 为您完成的?

javascript - CoffeeScript 数组查找下一个位置