java 结果集中list中根据每一个币种进行金额求和怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 结果集中list中根据每一个币种进行金额求和怎么写相关的知识,希望对你有一定的参考价值。

参考技术A 代码写好了,币种和金额作为Money类的属性存储到List中,再将List中重复币种的金额相加,如下(注意在Eclipse或者MyEclispse里面运行时,添加相关的包):
public class Money

private String type; //币种
private int value; //金额
//初始化币种和金额
public Money(String type,int value)
this.type=type;
this.value=value;

//这个构造器仅仅用于获得一个Money类去调用isSameType()方法,注意这个类只能在本类中使用
Money()
//获取相同类型的币种并且将它们的金额总和放在一个list中
public List isSameType(List<Money> list)
List l = new ArrayList<Money>();
if(list!=null)
for (int i = 0; i < list.size(); i++)
int sumMoney=list.get(i).value;
for(int j = i+1;j<list.size();j++)
if(list.get(i).type.equals(list.get(j).type))
sumMoney=sumMoney+list.get(j).value;
list.remove(list.get(j));
j=j-1;//删除一个元素以后还原指针位置


Money m =new Money(list.get(i).type,sumMoney);
l.add(m);


return l;

public String toString()
return "币种类型:"+ this.type+"\t金额总和:"+this.value;

public static void main(String[] args)
//初始化
List<Money> list = new ArrayList<Money>();
Money m1 = new Money("dollar",6);
Money m2 = new Money("renmbi",8);
Money m3 = new Money("dollar",7);
Money m4 = new Money("dollar",9);
Money m5 = new Money("lubu",4);
Money m6 = new Money("renmbi",10);
Money m7 = new Money("lubu",3);
Money m8 = new Money("taidao",15);
list.add(m1);//注意这里加入两次m1
list.add(m1);
list.add(m2);
list.add(m3);
list.add(m4);
list.add(m5);
list.add(m6);
list.add(m7);
list.add(m8);
Money m = new Money();
//求和
List l = m.isSameType(list);
for (int i = 0; i < l.size(); i++)
System.out.println(l.get(i));


java比较两个集合中重复的元素并去除

有些代码经常用,却总是忘记,比如说集合去重复。。
今天在博客上记录一下吧
最近做项目的时候需要在汇率集合中将币种表里面无效的币种所出现的汇率去掉
//查询出所有汇率

List<ExchangeRate> exchangeRate = userManagementService.getExchangeRate(id);

//查询出被禁用的币种

List<Currency> unableCurrent = t_currencyDao.getCurrencyUnenable();

//将汇率中含有被禁用的币种去除掉

for (int i=0;i<exchangeRate.size();i++){
            ExchangeRate exchangeRate = exchangeRate.get(i);
            for (int j=0;j<unableCurrent.size();j++){
                Currency currency = unableCurrent.get(j);
                if (exchangeRate.getGoalCurrencyID().equals(currency.getCurrencyID()) || exchangeRate.getSourceCurrencyID().equals(currency.getCurrencyID())){
                    exchangeRate.remove(i);
                }
            }
        }

以上是关于java 结果集中list中根据每一个币种进行金额求和怎么写的主要内容,如果未能解决你的问题,请参考以下文章

flink统计根据账号每30秒 金额的平均值

Kusto:将结果集中的每一行与另一个表进行比较

java比较两个集合中重复的元素并去除

币种大写算法(js)

java 实现仿照微信抢红包算法,实测结果基本和微信吻合,附demo

java小技能:对list集合根据条件进行分组过滤和字段筛选