zoukankan      html  css  js  c++  java
  • 修改与遍历MAP

    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());
            }
        }
    }
    
    
    

    执行结果如下图:

  • 相关阅读:
    使用Sed抽取MySQL安装文档的目录及行号
    [MySQL]关于Com_状态
    [译]理解对象存储如何工作
    [译]OpenStack Object Storage Monitoring
    通过设置swift中container的ACL提供匿名访问及用户授权读取服务
    使用swift命令遭遇503错误
    swift-get-nodes简单使用
    修改虚拟硬盘的大小
    php-fpm重启
    Windows学习"Network Analysis in Python"
  • 原文地址:https://www.cnblogs.com/caozz/p/10174554.html
Copyright © 2011-2022 走看看