在 ArrayList 中计数 - Java [英] Counting in an ArrayList - Java

查看:29
本文介绍了在 ArrayList 中计数 - Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新代码

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

I'm trying to figure out a way to count how often one value appears in an ArrayList.

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

所以在上面的例子中,我想计算手上有多少俱乐部"[0].

So in the above case i want to count how many "Clubs" are in hands[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"

I'm drawing a blank.... If i change the method type to ArrayList then i cannot return "count"

hands[0] 创建者:

hands[0] is created by:

    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());
           }
       }

推荐答案

Collections.frequency

您已经可以从 Collections 类,位于 frequency 方法.

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

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

That will return the number of occurrences of a specific object inside a collection.

请注意,不提供有效的 equals 方法这行不通,或者至少不能处理您心目中的相等性,因为 Java 可以不知道你说的平等是什么意思.

Mind that without providing a vaild equals method this won't work or at least won't work with the equality you have in mind, since Java does't know your meaning of equality.

这篇关于在 ArrayList 中计数 - Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆