Я пишу Pokergame на Java, и у меня возникают проблемы с написанием оценки рук. Я думал о написании функции, которая возвращает количество карт одной масти, чтобы сначала проверить наличие сброса.
У меня есть карточка класса с перечислением SUITS и getSuit для получения.
В моем Evaluator я хочу метод countSuits()
, который возвращает значение int с наибольшим количеством совпадающих мастей в руке.
Я мог бы проверить каждый костюм отдельно, как это:
Arrays.stream(cards).filter(card -> card.getSuit()== Card.Suit.DIAMOND).count();
, а затем сравните возвращаемые значения и верните самое высокое, но я хотел бы найти решение, чтобы сделать это с одним потоком.
Это вообще возможно? Я все еще немного пытаюсь понять потоки ...