1

更新代码

我试图找出一种方法来计算一个值在 ArrayList 中出现的频率。

System.out.println("Hand 1, Number of Clubs: " 
              + hands[0].frequency(hands[0], Card.Suit.CLUBS));

因此,在上述情况下,我想计算手中有多少“俱乐部”[0]。

public int frequency(Hand c, Suit suit){
    int count = 0;
    if(suit == suit) //need this to be "If suit (club) is present, count++)
            {
             count++;
            }    
    return count;
}

我正在画一个空白......如果我将方法类型更改为 ArrayList 则我无法返回“count”

hands[0] 由以下人员创建:

    Hand[] hands = new Hand[4];
    for(int i=0; i<hands.length; i++) {
       hands[i]=new Hand();
       }
       for(int i=0; i<=Deck.size()+8; i++) {
          for(Hand hand:hands) {
             hand.addSingleCard(Deck.deal());
           }
       }
4

1 回答 1

3

Collections.frequency

在方法中,您已经在Collections课堂上提供了此功能frequency

public static int frequency(Collection<?> c, Object o)

这将返回集合中特定对象的出现次数。

请注意,如果不提供有效的equals方法,这将无法工作,或者至少不会与您想到的相等性一起工作,因为 Java 不知道您对相等性的含义。

于 2012-11-15T14:58:04.440 回答