我希望创建一个我的手推车的数量'动态的领域。这应该按类型计算任何给定日的手推车数量(例如a,b,c)。但是,我不想创建一个仅按类型(A,B,C)计算的静态列。但是,相反,我需要一个动态计数,根据'类型'因为我们目前还不知道将使用哪种类型,因为这会每天都在变化。
我希望在Ireport 5.6中创建它。
建议的结果
任何想法都会很棒:)
答案 0 :(得分:1)
您可以使用HashMap计算您的字段,例如。
public Map<String, List<Class>> sortByKey(List<Class> values){
Map<String, List<Class>> map = new HashMap<>();
for(Class value : values){
if(map.containsKey(value.type)){
List<Class> valueByKey = map.get(value.type);
valueByKey.add(value);
}
else{
List<Class> newValues = new ArrayList<>();
newValues.add(value);
map.put(value.type, newValues);
}
}
return map;
}
上面的代码按键对数据进行排序,这在您的示例“类型”字段中。然后,您可以通过按特定键检查列表的大小来获取每种类型的编号。示例下面。
List<Class> tmp = map.get("a");
int count = tmp.size();