1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public static void main(String[] args) {
Map<Double, Integer> data = new HashMap<>();
data.put(0.116, 7519);
data.put(0.119, 5782);
data.put(0.125, 6651);
data.put(0.135, 4933);
data.put(0.137, 5148);
data.put(0.181, 5581);
data.put(0.196, 5365);
data.put(0.214, 5798);
SortedMap<Double, Integer> sortedMap = new TreeMap(data);
int pourcentofbestcell = 40; //pourcentage de best key à récupérer
int numberofbestcell = (int) (pourcentofbestcell * data.size()) / 100;//calcul du nombre de cellule a recuperer en fonction de la taille de la liste de cellule disponible triee
if (numberofbestcell == 0) {
numberofbestcell = 1;//signifie qu'on va récuperer la dernier cellule de la liste triée
}
// Notre tableau de random
List<Integer> ints = IntStream.range(1, sortedMap.size()).boxed().collect(toList()); // Nombre aléatoire de 1 à au nombre de données contenus dans le sorted map
Collections.shuffle(ints); // on mélange le tableau
List<Integer> ten = ints.subList(0, numberofbestcell); // on récupère le nombre souhaité de valeurs aléatoires, de 0 à numberofbestcell
// on récupère nos valeurs aléatoires
for (int i = 0; i < numberofbestcell; i++) {
// On récupère la clef par rapport au tableau contenant des nombres aléatoires
double key = (double) sortedMap.keySet().toArray()[ten.get(i)];
// On récupère la valeur
int value = sortedMap.get(key);
// Affichage
System.out.println("KEY : " + key);
System.out.println("Value : " + value);
}
} |
Partager