package com.*;

import java.util.*;

/**
 * Created by HP on 2018/8/2.
 */
public class Test {
    //定义一个用于转换map的配置信息
    private static Map<String,String> map = new HashMap<>();

    //静态块,初始化静态成员变量
    static {
        map.put("1","壹");
        map.put("2","贰");
        map.put("3","叁");
        map.put("a","A");
        map.put("b","B");
        map.put("c","C");
    }

    /**
     * 转换,通过给定的map,将其中的key,value转换成与之对应的信息
     * 比如,将一些英文全部转换成中文
     * 先定义一个map,用于存储转换之后的信息。
     * 遍历给定的信息,将信息按照某种规则存入新的map之后,
     * 则删除该元素,节省其对内存的使用
     * @param mapParam
     * @return
     */
    private static Map<String,String> convertMap(Map<String,String> mapParam){
        Map<String,String> newMap = new HashMap<>();
        Iterator<Map.Entry<String,String>> it = mapParam.entrySet().iterator();
        while(it.hasNext()){
            Map.Entry<String,String> entry = it.next();
            String key = entry.getKey();
            String value = entry.getValue();
            if(key.equals("test")){
                newMap.put(key,value);
            }else {
                newMap.put(map.get(key),map.get(value));
            }
            it.remove();
        }
        return newMap;
    }

    public static void main(String[] args) {
        //原始map
        Map<String,String> sourceMap = new HashMap<>();
        sourceMap.put("1","a");
        sourceMap.put("2","b");
        sourceMap.put("3","c");
        sourceMap.put("test","nnnnnnn");
        //调用转换方法,目标是将key中的数字转换成中文大写,将value的字母转换成大写,只有key为test时保持该条数据不变
        Map<String,String> newMap = convertMap(sourceMap);
        //遍历转换后的map
        for(Map.Entry<String,String> entry:newMap.entrySet()){
            System.out.println(entry.getKey() + " --> " + entry.getValue());
        }
    }
}

执行结果如下图:

修改与遍历MAP的更多相关文章

  1. java遍历map方法

    java 代码: import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Map ...

  2. [转载] Java 遍历 Map 的 5 种方式

    目录 1 通过 keySet() 或 values() 方法遍历 2 通过 keySet 的 get(key) 获取值 3 通过 entrySet 遍历 4 通过迭代器 Iterator 遍历 5 通 ...

  3. golang遍历时修改被遍历对象

    目录 前言 遍历切片 遍历map 总结 前言 很多时候需要将遍历对象中去掉某些元素,或者往遍历对象中添加元素,这时候就需要小心操作了. 对于go语言中的一些注意事项我做了总结和示例,留下点笔记. 遍历 ...

  4. 遍历map的四种方法

    方法一  在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用.注意:for-each循环在Java 5中被引入所以该方法只能应用于j ...

  5. java 遍历map 方法 集合 五种的方法

    package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...

  6. Java中遍历Map集合的四种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  7. Java中如何遍历Map对象的4种方法

    在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHa ...

  8. java遍历map的四种方式

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  9. 数组遍历map和each使用

    <body> <input type="/> <input type="/> <input type="/> </b ...

随机推荐

  1. C# List(T).Reverse 方法 顺序反转

    using System; using System.Collections.Generic; public class Example { public static void Main() { L ...

  2. Murano Service Architecture Introducation

    1. Murano Project Mission From the third-party tool developer’s perspective, the application catalog ...

  3. angularjs ui-grid如何动态设置行高

    自己开发的公众号,可以领取淘宝内部优惠券 在用ui-grid的时候我们可以用rowHeight设置行高,可是每一行的高度都是一样的,无法根据行内的内容进行自适应.如下图 为了解决这个问题,google ...

  4. razor表单验证

    1.验证注解(Model) public class Student { //默认不能为空 [Required(ErrorMessage ="姓名不能为空")] [StringLe ...

  5. 拼json对象批量向后台添加数据

    网站中如果遇到批量提交格式相同数据,可以使用json来传输 $("#catalogSave").click(function(){ var array=[]; $("[n ...

  6. 大话java基础知识一之为什么java的主函数入口必须是public static void

    为什么java的主函数入口必须是public static void main (String[] args); 很多写javaEE好几年的程序员经常会记得java的主函数就是这么写的,但实际上为什么 ...

  7. vueHistory 模式下,布置到服务器上路由刷新会报nginx404错误

    之前写完vue项目后,布置到服务器,用nginx反向代理后,一开始进去,进各种路由都是没问题的,但是一旦f5刷新后就会出现一个nginx404的错误. 经过翻阅vue文档后,发现这是vueHistor ...

  8. 减少服务器压力php生成静态xml文件

    一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...

  9. html meta标签实现页面跳转

    refresh用于刷新与跳转(重定向)页面 refresh出现在http-equiv属性中,使用content属性表示刷新或跳转的开始时间与跳转的网址 <!DOCTYPE html> &l ...

  10. Android自定义控件 -- 带边框的TextView

    使用xml实现边框 原来使用带边框的TextView时一般都是用XML定义来完成,在drawable目录中定义如下所示的xml文件: <?xml version="1.0" ...