lots of exercises in java... from https://github.com/exercism/java

12345678910111213141516171819202122232425262728
  1. import java.util.ArrayList;
  2. import java.util.Comparator;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5. public class Poker {
  6. private final List<String> bestHands;
  7. public Poker(final List<String> hands) {
  8. bestHands = bestHands(hands);
  9. }
  10. public List<String> getBestHands() {
  11. return bestHands;
  12. }
  13. public List<String> bestHands(final List<String> hands) {
  14. ArrayList<Hand> scoredHands = new ArrayList<Hand>();
  15. for (String s : hands) {
  16. scoredHands.add(new Hand(s));
  17. }
  18. int maxscore = scoredHands.stream().map(h -> h.getScore()).max(Comparator.naturalOrder()).get();
  19. return scoredHands.stream().filter(h -> h.getScore() == maxscore).map(h -> h.getInput())
  20. .collect(Collectors.toList());
  21. }
  22. }