Java中两个Map的加减
来源:互联网 发布:大数据的主要特点 编辑:程序博客网 时间:2024/06/08 16:14
package com.map;import java.util.Iterator;import java.util.Map;import java.util.HashMap;import java.util.Set;public class AddMap {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub Map<String,Double> AMap = new HashMap<String,Double>(){{ put("A",1.0); put("B",2.0); put("C",-3.0); }}; Map<String,Double> BMap = new HashMap<String,Double>(){{ put("B",-2.0); put("C",3.0); put("D",6.0); }}; Map<String,Double> CMap = addWeight(AMap,BMap); for(String s : CMap.keySet()) { System.out.println(s + " = " + CMap.get(s)); } }public static Map<String,Double> addWeight(Map<String,Double> goldMap,Map<String,Double> preMap){ Map<String,Double> addMap = new HashMap<String,Double>(); for(String s : preMap.keySet()) { if(goldMap.containsKey(s)) { addMap.put(s, (goldMap.get(s) + preMap.get(s))); } else { addMap.put(s, preMap.get(s)); } } for(String str : goldMap.keySet()) { if(!preMap.containsKey(str)) { addMap.put(str, goldMap.get(str)); } } //删除值为空的项 //集合类的都不能在循环的时候删除,因为删除元素后集合发生改变继而不能循环了 //这种删除方式以后不要再用了,严重出错 /*for(String key : cutMap.keySet()) { Double value = cutMap.get(key); if(value == 0.0) { cutMap.remove(key); } }*/ Set mapset = addMap.entrySet(); Iterator iterator = mapset.iterator(); while(iterator.hasNext()) { Map.Entry mapEntry = (Map.Entry)iterator.next(); Double value =(Double)mapEntry.getValue(); if(value == 0.0) { iterator.remove(); } } return addMap;}/** * 两个Map相减 * @param goldMap * @param preMap * @return */public static Map<String,Double> cutWeight(Map<String,Double> goldMap,Map<String,Double> preMap){ Map<String,Double> cutMap = new HashMap<String,Double>(); for(String s : preMap.keySet()) { if(goldMap.containsKey(s)) { cutMap.put(s, (goldMap.get(s)-preMap.get(s))); } else { cutMap.put(s, -(preMap.get(s))); } } for(String str : goldMap.keySet()) { if(!preMap.containsKey(str)) { cutMap.put(str, goldMap.get(str)); } } //删除值为空的项 Iterator iterator = cutMap.entrySet().iterator(); while(iterator.hasNext()) { Map.Entry mapEntry = (Map.Entry)iterator.next(); Double value =(Double)mapEntry.getValue(); if(value == 0.0) { iterator.remove(); } } return cutMap;}}
0 0
- Java中两个Map的加减
- java中两个map的融合(两个map有相同字段)
- java 两个Double类型的数值之间的加减操作
- java中对日期的加减操作
- java中对日期的加减操作
- java中对日期的加减操作
- java中对日期的加减操作
- java中对日期的加减操作
- Java中时间加减的比较
- java中对日期的加减操作
- Java中如何实现时间的加减
- 两个复数的加减运算
- java日期的加减
- java中字符串的格式以及日期的加减运算
- 在JAVA中,对List集合的加减操作
- 在JAVA中,对List集合的加减操作
- java 两个map对象的合并成一个map对象
- 求两个数的加减积商
- java rmi (2)Java RMI 简单示例
- java发Email
- B/S和C/S的区别(总结的好全)
- ios应用审核的几种状态
- 工作中经常用的Jquery
- Java中两个Map的加减
- Ubuntu 12.04右键在当前位置打开终端
- ftp工具类
- Android--标签组件(TabHost)小实例
- STM32串口使用printf()没输出东西(Use MicroLib)
- SGU 200 Cracking RSA (高斯消元+大数高精度)
- view上添加点手势 button无法响应点击事件
- 复制一个AP来监听流量
- Matlab代码转C