/**
* jdk8以上支持 Long类型数组取模分组
* @param arrays 被分组的数组对象
* @param mod 取模值
* @return Map>
* 说明:Map>
* 2019-08-03 13:21:42
* */
public static Map> arrayGroupBy(Long [] arrays,int mod) {
List arrayList= new ArrayList<>(Arrays.asList(arrays));
Map> resultList= arrayList.stream().collect(Collectors.groupingBy(new Function() {
@Override
public Long apply(Long value) {
return value.longValue() % mod;
}
}));
return resultList;
}
//test
public static void main(String[] args) {
Long [] array=new Long[]{174L,175L,176L,177L,178L,179L,174L,174L,174L,174L,178L,178L,176L};
Map> resultList2 = arrayGroupBy(array,10);
resultList2.forEach((k,v)->{
System.out.println(k+"---->"+JSONObject.toJSONString(v));
});
}
//拓展
public static Map> arrayGroupBy(List arrayList,int mod) {
Map> resultList= arrayList.stream().collect(Collectors.groupingBy(e -> e.getGoodId() % mod));
return resultList;
}