Hello,
je ne pense pas que l'API stream soit utile dans ce cas de figure.
Si tu veux trier les joueurs, tu peux faire
joueurs.sort(tonComparateur);
L'intérêt des streams n'est pas là.
Je dirais que pour ton jeu, ton besoin est assez spécifique et tu ne peux pas trop t'attendre à ce que le langage ait quelque chose qui gère les cas pour toi.
A priori ton besoin, c'est d'éliminer un joueur à la fin d'une manche. Première étape trier les joueurs par résultats, ça, ok.
Par contre, la question de s'il y a égalité, ça c'est vraiment ton truc à toi, c'est pas une situation normale. Dans une situation normale, quand "on garde les 3 plus grands", on se fiche que le 4e soit tout aussi grand. On prend les 3 qu'on a et puis c'est tout. Les statistiques n'ont pas droit à autant d'égards que les gens, principalement parce que ça ne servirait à rien.
Je dirais qu'après le tri, et que tu as identifié le 4e joueur comme "probablement celui à éliminer", tu vas vouloir vérifier si par hasard il n'est pas à égalité avec le joueur juste devant lui.
Si non, alors tu as trouvé le joueur à éliminer.
Si oui, alors tu n'est pas dans une situation où tu as un "joueur classé dernier" et tu vas devoir appliquer une de tes étapes de résolution.
Partager