获取物品数量

时间:2014-07-29 12:31:37

标签: java

我需要获取列表中每个项目中项目元素的计数。例如,我在此列表中有一个组列表是5个元素,并且在每个元素上还有一些其他项目。我需要对每个元素列表中的项目进行计数,以便在括号中显示附近的元素名称,如:

element1 (5)
element2 (7)
...

我有一个组列表,然后我在这个列表中添加了名称和id的元素,如:

for(Group p: list) { l.add(p.getName(),p.getId());}

如何获得p中包含的每个项目元素的计数?任何建议

我有一个Group

列表
  Group
    -Group1
    -Group2
    -Group3
    -Group4
    -...

每个组项都有自己的元素

  Group
    -Group1
      -el1
      -el2
      -el3
      -el4
      -...   
    -Group2
      -el1
      -el2
      -el3
      -el4
    -Group3
    -Group4
    -...

我想获得要在Group1(4)上显示的最后一个树元素的计数,例如

我有两种方法,其中一种叫做

number=r.entrySet().size

并获取我想要但在控制台上的元素数量,如果我在第二种方法中调用此变量则为null,

 for(Group p: list) { l.add(p.getName()+ "("+number+")",p.getId());}

如何在第二种方法中调用它,我将其定义为静态

 private static int number;

1 个答案:

答案 0 :(得分:2)

创建地图<String, AtomicInteger>。使用p.getName()作为密钥。

在循环中使用此代码按名称(或您能想到的任何其他键)计算元素:

AtomicInteger counter = map.get( p.getName() );
if( null == counter ) {
   counter = new AtomicInteger();
   map.put( p.getName(), counter );
}

counter.increment();