Return 来自一副扑克牌的流

Return a Stream from a deck of playing cards

我们考虑以下格式的一副扑克牌:

Ranks: 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K, A

Suits: S - Spade, D - Diamond, H - Heart, C - Club

每张卡片将由 2 个字符标识 例如。 “3S”(黑桃 3)、“TC”(梅花 10)、“AH”(红心 A)。我想修改 getCardsBySuit 方法,以便 return 具有属于该花色的所有牌的 Stream

例如对于包含“2H”、“3S”、“TH”且花色为 'H' 的列表,结果应为包含 “2H”和“TH”的流

public static Stream<String> getCardsBySuit(List<String> cards, char suit) {
    return null;
}

假设卡片中的所有元素至少有 2 个字符并且花色在第二位。

return cards.stream()
            .filter(s -> s.charAt(1) == suit);

请注意,在使用返回的流时,一旦您应用了任何终端操作,您将无法再次使用相同的流对象。您将不得不再次调用此方法。