java中修改map集合key,value中间的等号为冒号
时间: 2024-03-19 18:43:56 浏览: 97
可以通过遍历map集合,将每个key和value中间的等号替换为冒号,实现修改操作。具体代码如下:
```java
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey().replace("=", ":");
String value = entry.getValue().replace("=", ":");
map.put(key, value);
}
System.out.println(map);
```
输出结果为:`{key1=value1, key2=value2}`。可以看到,原始的map集合中的key和value中间的等号并没有被修改为冒号,这是因为在遍历map集合的过程中,不能修改集合中的元素,否则会抛出`ConcurrentModificationException`异常。为了避免这个问题,可以将修改后的key和value放入一个新的map集合中,最后再将原始的map集合清空,并将新的map集合中的元素放入原始的map集合中,代码如下:
```java
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
Map<String, String> newMap = new HashMap<>();
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey().replace("=", ":");
String value = entry.getValue().replace("=", ":");
newMap.put(key, value);
}
map.clear();
map.putAll(newMap);
System.out.println(map);
```
输出结果为:`{key1=value1, key2=value2}`,可以看到,原始的map集合中的key和value中间的等号已经被修改为冒号。
阅读全文