我们考虑以下格式的一副扑克牌:
排名:2、3、4、5、6、7、8、9、T、J、Q、K、A
套装:S-Spade,D-Diamond,H-Heart,C-Club
每张卡将由2个字符标识例如";3S";(黑桃3(;TC";(俱乐部10号(,";AH";(心灵王牌(。我想修改getCardsBySuit
方法,以便返回一个带有属于该套装的所有卡的Stream
。
例如,对于包含";2H"3S"TH";并且该套装是"H",则结果应该是包含"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);
请注意,在使用返回的流时,一旦应用了任何终端操作,您将无法再次使用相同的流对象。您将不得不再次调用此方法。