Originariamente inviato da John360
però il codice mi sembra un po pesante... come avreste fatto voi?
(non sto chiedendo di farmi l'esercizio eh! l'ho fatto gia!)
Così:
codice:
    public static int moda(int A[]){
	HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();    	
    	int moda = 0;
    	
    	for(int e : A){
    		map.put(e, (map.get(e) == null ? 1 : map.get(e) + 1 ) );
    		
    		if( map.get(moda) == null || map.get(e) > map.get(moda) )
    			moda = map.get(e);
    	}
    	
    	return moda;
    }
Però dovresti definire un qualcosa di più generico, ad esempio:
codice:
public static Object moda(Object A[])
oppure ricorrendo all'uso dei Generics.