一个map集合分为两个

CCviktory 2020-09-13 08:50:20
请问,现有一个map集合 key为月份,请问如何根据月份的奇偶将这个map集合分成两个map集合???请问各位大佬该怎么处理?,思考了好长时间解决不了
...全文
7184 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hello,world-- 2020-09-15
  • 打赏
  • 举报
回复
遍历map,判断key是奇数还是偶数,分开存入两个新的map
wang1hong2lu3 2020-09-14
  • 打赏
  • 举报
回复
你这个月份只得 是 一月 二月 的key吗 如果是这两就直接定义一个单月份的数组 把做份放进去 (写死) 直接便利这个数组 根据数组数据取和map的key做对比 相同的就是单月 不同的就是双月 也可以把数组数据放到配置文件中
qq_39936465 2020-09-14
  • 打赏
  • 举报
回复
引用 楼主 CCviktory 的回复:
请问,现有一个map集合 key为月份,请问如何根据月份的奇偶将这个map集合分成两个map集合???请问各位大佬该怎么处理?,思考了好长时间解决不了
把key都对应为数字再来分组,就是建一个枚举类emun
tianfang 2020-09-14
  • 打赏
  • 举报
回复
创建一个新的map,把奇数的移动到新的就是了
zrl凝望遗失 2020-09-14
  • 打赏
  • 举报
回复
public static void main(String[] args) { Map<Integer,String> map = new HashMap<>(); map.put(1,"1月份"); map.put(2,"2月份"); map.put(3,"3月份"); map.put(4,"4月份"); //偶数 List<Map.Entry<Integer, String>> oushuList = map.entrySet().parallelStream().filter(i -> i.getKey() % 2 == 0).collect(Collectors.toList()); //奇数 List<Map.Entry<Integer, String>> qishuList = map.entrySet().parallelStream().filter(i -> i.getKey() % 2 != 0).collect(Collectors.toList()); System.out.println(JSON.toJSONString(oushuList)); System.out.println(JSON.toJSONString(qishuList)); }
meilinjie 2020-09-14
  • 打赏
  • 举报
回复
1、map里保存了key为月份的数据,map1中保存月份为偶数的,map1中保存月份为奇数的
for(String key:map.keySet()){//keySet获取map集合key的集合 然后在遍历key即可
int keyNum = Integer.parseInt(key);
if(keyNum % 2 ==0){
map1.put(key,map.get(key));
}else{
map2.put(key,map.get(key))
}
}

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧