In questo caso se ci sono piu' valori con lo stesso numero di ripetizioni, indica solo il primo di questi numeri. Volendo puoi modificarlo in modo che sia possibile piu' di un risultato.codice:int[] numeri = new int[] {5, 4, 4, 3, 3, 3, 2, 8, 8};//il tuo array di partenza Map<String, Integer> map = new HashMap(); for(int i = 0; i < numeri.length; i++) { Integer count = map.get(""+numeri[i]); count = count != null ? new Integer(count.intValue()+1) : new Integer("1"); map.put(new Integer(numeri[i]), count); } Iterator<Entry<String, Integer>> iter = map.getEntrySet().getIterator(); int max = 0; String numero = null; while(iter.hasNext()) { Entry<String, Integer> e = iter.next(); if(e.getValue() > max) { max = e.getValue().intValue(); numero = e.getKey(); } } System.out.println("il valore col maggior numero di ripetizioni (" + max + ") e\' " + numero);
P.S. non l'ho controllato ne' provato... chiedo perdono x eventuali errori :P

Rispondi quotando