java遍历List,将集合中对象去重后并对对象属性求和

  • 2021年10月29日
  • Java

package com.longlonggo.myTest;

import java.util.ArrayList;
import java.util.List;

//测试类主方法
public class MyTest {
	public static void main(String[] args) {
		List<UserEntity> list = new ArrayList<UserEntity>();
		UserEntity u1 = new UserEntity();
		u1.setId(1);
		u1.setName("A");
		u1.setQuantity(1);
		
		UserEntity u2 = new UserEntity();
		u2.setId(1);
		u2.setName("B");
		u2.setQuantity(2);
		
		UserEntity u3 = new UserEntity();
		u3.setId(1);
		u3.setName("A");
		u3.setQuantity(3);
		list.add(u1);
		list.add(u2);
		list.add(u3);
		
		List<UserEntity> resultList = new ArrayList<UserEntity>();
		for (UserEntity _o : list) {
			boolean isFind = false;
			for(int i=0;i<resultList.size();i++){
				if(_o.getName().equals(resultList.get(i).getName())){
					isFind = true;
					resultList.get(i).setQuantity(resultList.get(i).getQuantity() + _o.getQuantity());
				}
			}
			if(!isFind){
				resultList.add(_o);
			}
		}
		
		for (UserEntity _r : resultList) {
			System.out.println(_r.getName()+","+_r.getQuantity());
		}
	}
}
package com.longlonggo.myTest;

//实体属性
public class UserEntity {
	private int id;
	private String name;
	private int quantity;
	
	public int getId() {
		return id;
	}
	
	public String getName() {
		return name;
	}
	
	public int getQuantity() {
		return quantity;
	}
	
	public void setId(int id) {
		this.id = id;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}
	
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注