java 实现 分组 函数

转载 2016年05月31日 17:33:23
public class test {
	public static void main(String[] args) {
		List<Bill> list = new ArrayList<Bill>();
		Bill b = new Bill();
		b.setType("A");
		b.setMoney(1);
		list.add(b);
		b = new Bill();
		b.setType("B");
		b.setMoney(2);
		list.add(b);
		b = new Bill();
		b.setType("C");
		b.setMoney(3);
		list.add(b);
		b = new Bill();
		b.setType("A");
		b.setMoney(1);
		list.add(b);
		b = new Bill();
		b.setType("B");
		b.setMoney(2);
		list.add(b);
		b = new Bill();
		b.setType("C");
		b.setMoney(3);
		list.add(b);


		List<Bill> bi = new ArrayList<Bill>();
		for (Bill bill : list) {
			boolean state = false;
			for (Bill bills : bi) {
				if(bills.getType().equals(bill.getType())){
					int money = bills.getMoney();
					money += bill.getMoney();
					bills.setMoney(money);
					state = true;
				}
			}
			if(!state){
				bi.add(bill);
			}
		}
		for (Bill bill : bi) {
			System.out.println(bill.getType() +"    " +bill.getMoney());
		}
	}
}

package com.zhangxuan.platform.test;

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


public class T {
	public static void main(String[] args) {
		List<Bill> lb = new ArrayList<Bill>();
		Bill b;
		for(int i = 0; i < 20; i ++) {
			b = new Bill();
			if(i % 2 == 0) 
				b.setType("t1");
			else 
				b.setType("t2");
			b.setMoney(i + 1000);
			lb.add(b);
		}
		TreeSet<String> tss = new TreeSet<String>();
		for(Bill bi : lb) {
			tss.add(bi.getType());
		}
		List<Bill> lbs = new ArrayList<Bill>();
		int total = 0;
		for(String t : tss) {
			b = new Bill();
			b.setType(t);
			for(Bill bl : lb) {
				if(t.equals(bl.getType())) {
					total += bl.getMoney();
				}
			}
			b.setMoney(total);
			lbs.add(b);
		}
		
		for(Bill bill : lbs ) {
			System.out.println(bill.getType() + " - " + bill.getMoney());
		}
	}
	

}

class Bill {
	String type;
	int money;
	
	public Bill() {
		
	}
	
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public int getMoney() {
		return money;
	}
	public void setMoney(int money) {
		this.money = money;
	}
	
	
}


相关文章推荐

java 集合(List)元素分组

package list.arraylist; import java.util.ArrayList; import java.util.List; /** * 此类实现了集合按某种规则分组...

java 实现类似于oracle分组统计的功能

根据employeeId分组,并统计totalNum和totalGoodsPrice  public static void groupCount2(){   MainJavaLK mainJav...

Java 非递归实现的排列组合中的平均分组问题

问题:对于N个数字,输出所有分M组,组间和组内的顺序无关的序列。 解析:排列组合问题的平均分组问题。网上没有找到现成的,就写了一个。 Java 编程,调试通过 设G(N,M) 为分组函数,程序...

Java 代码实现分组

 Java 代码实现分组: 原理实际是利用map的key的唯一性来作为分组关键点,然后使用list封装内容,核心代码如下,调用过程中,需要重新实现groupBy接口,即说明是根据什么来...

java 实现数据库分组功能

import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util...

java8 快速实现List转map 、分组、过滤等操作

利用java8新特性,可以用简洁高效的代码来实现一些数据处理。 定义1个Apple对象: public class Apple { private Integer id; ...

在list集合中对元素进行分组

/**      * 根据synsetId在集合中进行分组      * @return      */     public List gr...

Java实现GroupBy/分组TopN功能

介绍在Java 8 的Lambda(stream)之前,要在Java代码中实现类似SQL中的group by分组聚合功能,还是比较困难的。这之前Java对函数式编程支持不是很好,Scala则把函数式编...

MongoDB(五)mongo语法和mysql语法对比学习

我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识。 mongodb与mysql命令对比 关系型数据库一般是由数据库(d...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)