import java.util.ArrayList;

public class Frequence {

	public static <T> T frequence(T[] tab) {
		ArrayList<T> cles = new ArrayList<>();
		ArrayList<Integer> valeurs = new ArrayList<>();

		for (int i = 0; i != tab.length; i++) {
			if (!cles.contains(tab[i])) {
				cles.add(tab[i]);
				valeurs.add(0);
			}
			valeurs.add(cles.indexOf(tab[i]), (valeurs.get(cles.indexOf(tab[i])) + 1));
		}

		int max = valeurs.get(0);

		for (int i = 0; i != valeurs.size(); i++) {
			if (valeurs.get(i) > max) {
				max = valeurs.get(i);
			}
		}

		return cles.get(valeurs.indexOf(max));
	} 
}