我需要获取列表中每个项目中项目元素的计数。例如,我在此列表中有一个组列表是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;
答案 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();