计算数组列表中的项数

use*_*471 57 java

我想计算我的数组中itemid的数量,我可以得到一个例子,说明如何将其添加到我的代码中.代码如下;

if (value != null && !value.isEmpty()) {
    Set set = value.keySet();
    Object[] key = set.toArray();
    Arrays.sort(key);

    for (int i = 0; i < key.length; i++) {
        ArrayList list = (ArrayList) value.get((String) key[i]);

        if (list != null && !list.isEmpty()) {
            Iterator iter = list.iterator();
            double itemValue = 0;
            String itemId = "";

            while (iter.hasNext()) {
                Propertyunbuf p = (Propertyunbuf) iter.next();
                if (p != null) {
                    itemValue = itemValue + p.getItemValue().doubleValue();
                    itemId = p.getItemId();
                }

                buf2.append(NL);
                buf2.append("                  " + itemId);

            }

            double amount = itemValue;
            totalAmount += amount;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 129

itemId列表中的s 数与列表中的元素数相同:

int itemCount = list.size();
Run Code Online (Sandbox Code Playgroud)

但是,如果您要计算唯一itemIds的数量(每个@pst),那么您应该使用一个集来跟踪它们.

Set<String> itemIds = new HashSet<String>();

//...
itemId = p.getItemId();
itemIds.add(itemId);

//... later ...
int uniqueItemIdCount = itemIds.size();
Run Code Online (Sandbox Code Playgroud)


小智 13

您想要计算数组中的itemid数.只需使用:

int counter=list.size();
Run Code Online (Sandbox Code Playgroud)

代码越少,效率越高.不要运行祖先的轮子......