Hello Friends我有一个自定义arraylist,其中包含:[t_id(PK) cat_id(FK), cat_name,total] .
假设我在({1,1,c1,100},{2,1,c1,200},{3,1,c1,300},{4,1,c2,400},{5,1,c2,500})
我想要的是类别"c1"
和"c2"
输出中的含义应该是
"c1=600" and "c2=900".
所以我知道如何解决它
答案 0 :(得分:2)
我不知道这是怎么回事,在这里我尝试了一些可以帮助你的东西,
Map<String, Integer> map = new HashMap<String, Integer>();
for(Custom custom : customList)
{
if(map.containsKey(custom.getCat_name()))
{
Integer i = map.get(custom.getCat_name());
map.put(custom.getCat_name(), i+custom.getTotal());
}
else
{
map.put(custom.getCat_name(), custom.getTotal());
}
}
System.out.println("Map : "+map);
输出:Map : {c1=600, c2=900}
答案 1 :(得分:1)
它的猜测,但我理解的是这样的
public class Custom
{
int t_id(PK);
int cat_id(FK);
String cat_name;
int total;
public Custom(int t_id(PK),int cat_id(FK),String cat_name,int total)
{
this.t_id(PK)=t_id;
this.cat_id(FK)=cat_id(FK);
this.cat_name=cat_name;
this.total=total;
}
}
ArrayList<Custom> list=new ArrayList<Custom>;
现在,如果你想获得c1
这样做。
int totalC1=0;
for(Custom c:list)
{
if(c.cat_name.equals("c1"))
{
totalC1+=c.total;
}
}