㈠ java 问题ArrayList中相同的两条记录相加
先写理论
抄一份List
从第1个开始,从第2个开始找相同的,找到就合并并且remove掉(注意会引起List size改变而容易出错的),完了remove第1个、再回去从第1个开始找。
希望能解决您的问题。
㈡ java 结果集中list中根据每一个币种进行金额求和怎么写
代码写好了,币种和金额作为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("tai",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里面的值累加!!!!
int res = 0;
List<Integer> num = new ArrayList();
num.add(0,12);
num.add(1,13);
num.add(2,14);
for (int i = 0;i<num.size();i++){
res = res+num.get(i);
}
System.out.println(res);
这样实现的效果应该就是你想要的。
㈣ Java 多个集合数据相加怎么处理
顶楼上的。如果你不要求值相加的话,可以把所有的数据,以时间的值为键,然后以对象为值,放到Set里面去,然后再取出来。这是去重效率最高的办法
㈤ java中如何把2个LIST相同的内容相加
packagetest;
importjava.util.*;
publicclassTest{
publicvoidtest(){
Listlist1=newArrayList();
list1.add(newField("A",1));
list1.add(newField("B",1));
list1.add(newField("C",1));
Listlist2=newArrayList();
list2.add(newField("A",2));
list2.add(newField("D",2));
list2.add(newField("E",2));
Listres=Join(list1,list2);
for(Fieldfield:res){
System.out.print(field.getName()+":"+field.getValue()+",");
}
}
publicstaticvoidmain(String[]args){
newTest().test();
}
publicstaticListJoin(Listlist1,Listlist2){
Listres=newArrayList();
Listlist2_=newArrayList(list2);
for(Fieldfield1:list1){
booleanhasSameOne=false;
for(Fieldfield2:list2){
if(field1.getName().equals(field2.getName())){
res.add(field1.add(field2));
list2_.remove(field2);
hasSameOne=true;
}
}
if(!hasSameOne)
res.add(field1);
}
res.addAll(list2_);
returnres;
}
publicclassField{
privateintvalue=0;
privateStringname;
publicField(Stringname,intvalue){
this.name=name;
this.value=value;
}
publicintgetValue(){
returnvalue;
}
publicStringgetName(){
returnname;
}
publicFieldadd(Fieldvalue){
returnnewField(this.getName(),this.getValue()+value.getValue());
}
}
}
㈥ java两个list里面两个数相乘,乘积再相加
Jdk8
Double ss = lotterySaleList.stream().rece(0.0, (x, y) -> x + (y.getCount() * y.getPrice()), Double::sum);
㈦ 一个list要把相同的元素的某个值累加起来,怎么办
常规做法就是遍历list,然后取出studentNo&name进行比对,放在map中,like this:
for( student in studentList){
if(map.contains(student[(name+studentNo)])){
map.get(name+studentNo)+student.score
}else{
// put score into the map with name&studentNo key
}
}
this map object is the final result you want
//或者你可以写一个子类继承hashmap,重写put方法,把这个方法包含了你需要的逻辑,然后一个个直接put进去即可
㈧ java中 两个list怎么合并啊有list,list1,list2。想要list等于list1和list2相加得到的队列怎么写
Java将两个list合并,只需要把list1和list2内容都添加都集合list中即可,如下:
packagecom.test;
importjava.util.ArrayList;
importjava.util.List;
publicclassTestA{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//定义集合1
List<String>list1=newArrayList<String>();
list1.add("a1");
list1.add("a2");
list1.add("a3");
System.out.println("集合1内容:"+list1);
//定义集合2
List<String>list2=newArrayList<String>();
list2.add("b1");
list2.add("b2");
list2.add("b3");
System.out.println("集合2内容:"+list2);
List<String>list=newArrayList<String>();
//将集合1的内容全添加到集合中
list.addAll(list1);
//将集合2的内容全添加到集合中
list.addAll(list2);
System.out.println("现在集合内容:"+list);
}
}
运行结果:
集合1内容:[a1,a2,a3]
集合2内容:[b1,b2,b3]
现在集合内容:[a1,a2,a3,b1,b2,b3]
㈨ 如何把List里面的值循环相加
1、先新建一个JAVA类,包含一个main方法。
㈩ java集合里的数字相加
int count=0;
for (int i=0;i<list.size();i++){
count = count+list.get(i);
}
System.out.print(count);