Salve sto facendo un esercizio per il corso, dato un array di interi devo riempire un hashmap che ha come chiave ogni numero dell'array e come valore il numero di volte che che è maggiore degli altri numeri
int [] arr = {2,3,2,8,8,1,7,8};
output: {1=0, 2=1, 3=3, 7=4, 8=5}
io ho fatto così, creando un altro metodo maggiore() , io lo vorrei fare senza creare il metodo maggiore() ma mi si incasina come potrei fare? perchè il prof non vuole che facciamo altri metodi
package ese_Array;
import java.util.HashMap;
public class numeri {
int arr[];
public numeri(int[] arr) {
this.arr = arr;
}
public void calcola (){
int val =0;
HashMap<Integer, Integer> h = new HashMap<>();
for(int i=0;i<arr.length;i++){
val = maggiore(arr[i]);
h.put(arr[i], val);
}
System.out.println(h);
}
public int maggiore (int num){
int conta = 0;
for(int i=0;i<arr.length;i++){
if(num>arr[i])
conta++;
}
return conta;
}
public static void main(String[] args) {
int [] arr = {2,3,2,8,8,1,7,8};
numeri n = new numeri(arr);
n.calcola();
}
}