打印最大元素及其索引位置

时间:2019-06-24 14:50:17

标签: java

我正在打印数组及其索引中的最大元素。我尝试过了。

int[] a = {10,20,30,40,40};
int index = 0;
int max = a[0];
for(int i = 0; i < a.length; i++)
{
    if(a[i] > max)
    {
         max = a[i];
         index = i;
    }
}
System.out.print(max + " " + index);

这将打印“ 40 3”。但是我需要“ 40 3 40 4”。如何更改代码以同时显示两个最大元素40及其索引?

2 个答案:

答案 0 :(得分:0)

您可以找到最大值并检查其数组,例如

int[] a = {10, 20, 30, 40, 40};
int max = Arrays.stream(a).max().getAsInt();
for (int i = 0; i < a.length; i++) {
      if (a[i] == max) {
        System.out.print(max + " " + i);
     }
}

答案 1 :(得分:-1)

如果要查找所有最大值并以某种方式存储它们,以备日后再用,则可以将Mapmax设置为{ {1}}和index。下面是实现此目的的一种方法:

Value

这将输出(您可以将打印方式更改为所需的任何内容):

Key