Agrupar dados

gostaria de saber como agrupar dados em datatable primefaces

tenho um metodo que retorna um list com seguinte informação:

data         | Venda | Despesa 

10/07/2012 | 33,22 | 3,3
11/07/2012 | 555,33 | 23,33
4/08/2012 32,30 25,50

gostaria de organizar da seguinte forma:

2012


Julho


Dia | Vendas | Despesas |


| 26 | 343,00 | 330,00 |
| 27 | 43,00 | 33,22 |

Total Mês: 386,00


Junho
Dia | Vendas | Despesas
12 | 333,00 | 2,2
14 | 42,00 | 30,00


Total Mês: 375,00
Total ano :