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. 3DSMAX 卸载

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  2. (转)sdd for aix 安装及基本命令

    总结出自多个文件(自己做的项目和网上找的资料) 原文:http://blog.csdn.net/yujin2010good/article/details/11395701 一.sddpcm安装 要安 ...

  3. 基于Python实现邮件发送

    import smtplibfrom email.mime.text import MIMETextemail_host = 'smtp.163.com' # 邮箱地址email_user = 'sz ...

  4. 本机访问其它电脑上的oracle数据库

    最近发现很多人问到怎么才能访问别人机子上的oracle,这里来给大家做个示范 借助工具的话,oracle就自己带了两个配置和移值助手下面:net configuration assistant 和ne ...

  5. [转]【无私分享:ASP.NET CORE 项目实战(第十四章)】图形验证码的实现

    本文转自:http://www.cnblogs.com/yuangang/p/6000460.html 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 很长时间没有来更新博客 ...

  6. 在DataColumn.Expression把DateTime转换成String的问题

    我在使用MySql5.1的数据库中,使用winForm的DataGridView要把数据库中全称DateTime格式,转换成Date格式,就是把日期时间转换成日期,不要时间.如‘2013-07-08 ...

  7. vue 2.6 更新变动

    [原文链接] Slots:新语法,性能改进为3.0做准备改用 v-slot 指令 //默认插槽 <baz v-slot ="baz"> {{baz}} </ ba ...

  8. baidu-aip-SDK node.js 身份证识别

    最近项目中客户需要实现身份证识别功能,合理计划了之后决定使用百度ai的身份证识别. 身份证识别是文字识别的一种,类似的功能有很多比如驾驶证识别等等,原理都是相同的. 对于前端初学者来说,如果要实现这种 ...

  9. 关于jqeury中attr()和prop()方法

    在平时工作中老会被一样的问题困住,浪费时间,这里做一个简要笔记. 在使用jquery给元素设置属性的时候,如果是一般的div,p等正常元素设置属性的话,使用attr()足以,但是在给拥有checked ...

  10. ArcMap如何修改地图坐标系统

    有时候,地图投影坐标需要作出修改,使得符合要求,不然空间参考不一样无法进行进一步的操作,分析等!下面介绍arcgis地图投影坐标的修改! 1.首先,将地图数据导入,这里我导入的是广西的边界图bound ...