Méthode prenant en compte tous types de nombre.
Jestiz_
Messages postés
36
Statut
Membre
-
Jestiz_ Messages postés 36 Statut Membre -
Jestiz_ Messages postés 36 Statut Membre -
Bonjour/Bonsoir,
Je vais aller droit au but, j'ai cette méthode :
Le problème est qu'elle ne fonctionne que pour les shorts. Sauf que dans mon programme j'en ai besoin pour des double, integer etc etc. Est-ce qu'il y a un moyen de la rendre plus générale ? Merci de vos réponses.
Je vais aller droit au but, j'ai cette méthode :
public static Stream<Entry<String, Short>> getTop(Map<String, Short> scores, final int amount) {
return scores.entrySet().parallelStream()
.sorted((a, b) -> -Short.compare(a.getValue(), b.getValue()))
.limit(amount);
}
Le problème est qu'elle ne fonctionne que pour les shorts. Sauf que dans mon programme j'en ai besoin pour des double, integer etc etc. Est-ce qu'il y a un moyen de la rendre plus générale ? Merci de vos réponses.
A voir également:
- Méthode prenant en compte tous types de nombre.
- Créer un compte google - Guide
- Nombre de jours entre deux dates excel - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
2 réponses
Bonjour,
Finalement de ton Short tu n'utilises que la méthode compare qui vient de l'interface Comparable, donc ton code peut s'étendre à n'importe quelle classe qui implémente Comparable.
Finalement de ton Short tu n'utilises que la méthode compare qui vient de l'interface Comparable, donc ton code peut s'étendre à n'importe quelle classe qui implémente Comparable.
public static <E extends Comparable<E>> Stream<Entry<String, E>> getTop(Map<String, E> scores, int amount) {
return scores.entrySet().parallelStream().sorted(Comparator.comparing(Entry::getValue, Comparator.reverseOrder())).limit(amount);
}