如何在java中为映射赋值

如何在java中为映射赋值,java,Java,我从我的应用程序中获取requestParameters映射,并将其分配给具有一些更改值的不同的映射。基本上我得到的输出是 email=a@a.com login projectname=abc 我试图像这样打印requestParams中的值,但什么也没有得到 iterator=requestParams.entrySet().iterator(); while(iterator.hasNext()) { Map.Entry me=(Map.Entry)ite

我从我的应用程序中获取requestParameters映射,并将其分配给具有一些更改值的不同的
映射。基本上我得到的输出是

email=a@a.com login projectname=abc 我试图像这样打印
requestParams
中的值,但什么也没有得到

iterator=requestParams.entrySet().iterator();
    while(iterator.hasNext())
    {

        Map.Entry me=(Map.Entry)iterator.next();
        String[] arr=(String[])me.getValue();
        log.info(me.getKey().toString()+"="+arr[0]);
    }

它使用
tempKey[i]+“=”+tempValue[i]
正确打印
log
,但它没有将值分配给
requestParams
(修改的映射),上面的代码有什么错?

我会复制现有映射并更改不同的值:

Map<String, String> newMap = new HashMap<String, String>(requestParameters);
newMap.put("request", "login");
newMap.remove("login");
Map newMap=newhashmap(requestParameters);
newMap.put(“请求”、“登录”);
删除(“登录”);

请求参数映射通常是不可修改的映射。。因此,对make所做的任何更改都不会保存。您需要创建另一个映射,并将所有可以更改的条目放在映射中。

为什么要使用这些
tempValue
tempKey
数组?忽略这一点,我正在用它做一些其他事情,测试目的,而不是告诉我们忽略某些事情,为什么不修复示例?这里有太多我们没有看到的东西-请将问题改为显示一个简短但完整的示例,说明您正在看到的内容和您希望看到的内容。
iterator=requestParams.entrySet().iterator();
    while(iterator.hasNext())
    {

        Map.Entry me=(Map.Entry)iterator.next();
        String[] arr=(String[])me.getValue();
        log.info(me.getKey().toString()+"="+arr[0]);
    }
Map<String, String> newMap = new HashMap<String, String>(requestParameters);
newMap.put("request", "login");
newMap.remove("login");