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 代码实现分组

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

java 集合(List)元素分组

package list.arraylist; import java.util.ArrayList; import java.util.List; /** * 此类实现了集合按某种规则分组...
  • king6603
  • king6603
  • 2011年01月04日 15:04
  • 20048

一个基于Java的简单分组处理算法

一个基于Java的简单分组处理算法问题描述:在一个已经经过严格分组(从数据库中用 order by 命令读出)的一个数组中,需要将其根据相应的单位不同分组,即将单位相同的统计项放在同一个数组中,从数据...
  • StepSun
  • StepSun
  • 2006年12月07日 10:49
  • 6212

JAVA 集合 List 分组的两种方法

从网上找了两种方法,效率差不多,这里贴出代码供大家参考 实体类Data public class Data { private Long id ; private Long ...

Java 8 – 分组GroupBy

1. 分组, 计数和排序 public static void main(String[] args) { //3 apple, 2 banana, others 1...

[疯狂Java]SQL库函数:行函数、组函数、select分组、筛选组

1. SQL库函数:     1) 就跟C语言标准库函数一样,SQL将一些经常使用的到的功能封装成标准库函数供用户使用,这些库函数底层的实现效率非常高,比用户自行编写同样的函数效率会高很多,因此遇到这...

Java实现GroupBy/分组TopN功能

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

java在集合中对集合进行分组

public List> getGroupList()     {      List> list = new ArrayList>();      List synsetcnList = gr...

java 实现数据库分组功能

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

Java基本语法-----java函数

函数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 实现 分组 函数
举报原因:
原因补充:

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