list 分组 java_java List分组

packagetest;importjavaBean.CustomerVo;importservice.ListSortUtil;importjava.text.ParseException;importjava.text.SimpleDateFormat;import java.util.*;/*** 测试集合分组算法

*

*@author清茶

* @create 2017-10-26 10:40*/

public classTestListSort {public static voidmain(String[] args) {

List list = new ArrayList();

list.add(new CustomerVo(1L, 2000L, "张1", generateDate(2017, 10, 10)));

list.add(new CustomerVo(2L, 2000L, "张2", generateDate(2017, 10, 10)));

list.add(new CustomerVo(3L, 2001L, "张3", generateDate(2017, 11, 10)));

list.add(new CustomerVo(4L, 2001L, "张4", generateDate(2017, 11, 10)));

list.add(new CustomerVo(5L, 2002L, "张5", generateDate(2017, 12, 10)));

list.add(new CustomerVo(6L, 2002L, "张6", generateDate(2017, 12, 10)));//按照客户日期进行排序

Map> sortMapByDate =sortByDate(list);

Map> sortMapByLong =sortByLong(list);

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");for (Map.Entry>entry : sortMapByDate.entrySet()) {

Date key=entry.getKey();

List customerVos =entry.getValue();

System.out.print("键值为:" + sdf.format(key) + "所包含的客户ID分别为:");for(CustomerVo vo : customerVos) {

System.out.print(vo.getId()+ ",");

}

System.out.println();

}

}private static Map> sortByDate(Listvos) {return ListSortUtil.group(vos, new ListSortUtil.GroupBy() {publicDate groupBy(Object obj) {

CustomerVo vo=(CustomerVo) obj;returnvo.getDate();

}

});

}private static Map> sortByLong(Listvos) {return ListSortUtil.group(vos, new ListSortUtil.GroupBy() {publicLong groupBy(Object obj) {

CustomerVo vo=(CustomerVo) obj;returnvo.getId();

}

});

}private static Date generateDate(int year, int month, intday) {

Calendar calendar=Calendar.getInstance();

calendar.set(Calendar.YEAR, year);

calendar.set(Calendar.MONTH, month- 1);

calendar.set(Calendar.DAY_OF_MONTH, day);

Date date=calendar.getTime();

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

Date returnDate= newDate();try{

System.out.println(sdf.format(date));

returnDate=sdf.parse(sdf.format(date));

}catch(ParseException e) {

e.printStackTrace();

}returnreturnDate;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值