HashMap<String, String>类型如何转化成HashMap<String, Object>
时间: 2023-11-18 20:26:49 浏览: 73
可以通过遍历原始的HashMap<String, String>,然后将每个键值对转换为键为String类型,值为Object类型的新HashMap<String, Object>。示例代码如下:
```
HashMap<String, String> originalMap = new HashMap<>();
// 假设原始HashMap已经填充了一些键值对
HashMap<String, Object> newMap = new HashMap<>();
for (Map.Entry<String, String> entry : originalMap.entrySet()) {
String key = entry.getKey();
Object value = (Object) entry.getValue();
newMap.put(key, value);
}
```
在这个示例代码中,我们通过遍历原始HashMap的每个键值对,然后将每个值转化为Object类型,最后将它们放入一个新的HashMap<String, Object>中。
相关问题
需要的类型: HashMap <String, Object> 提供的类型: HashMap <String, String>
将提供的 HashMap<String, String> 转换为 HashMap<String, Object> 可以使用以下代码:
```
HashMap<String, String> stringHashMap = new HashMap<>();
HashMap<String, Object> objectHashMap = new HashMap<>();
// 假设 stringHashMap 已经有了一些数据
for (String key : stringHashMap.keySet()) {
objectHashMap.put(key, stringHashMap.get(key));
}
```
这段代码遍历了原始的 HashMap<String, String>,并将其每个键值对的值转换为 Object 类型,然后将其添加到新的 HashMap<String, Object> 中。这样就完成了类型转换。
ArrayList<HashMap<String, String>> grpList2 的转化成Object类型
ArrayList<HashMap<String, String>> grpList2 可以通过序列化(Serialization)来转换成 Object 类型。具体实现方法可以使用 Java 自带的序列化类 ObjectInputStream 和 ObjectOutputStream。示例代码如下:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
public class SerializeDemo {
public static void main(String[] args) {
ArrayList<HashMap<String, String>> grpList2 = new ArrayList<>();
HashMap<String, String> map1 = new HashMap<>();
map1.put("key1_1", "value1_1");
map1.put("key1_2", "value1_2");
HashMap<String, String> map2 = new HashMap<>();
map2.put("key2_1", "value2_1");
map2.put("key2_2", "value2_2");
grpList2.add(map1);
grpList2.add(map2);
// 将 ArrayList<HashMap<String, String>> 转换成 Object 类型
try {
FileOutputStream fileOut = new FileOutputStream("grpList2.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(grpList2);
out.close();
fileOut.close();
System.out.println("Serialized data is saved in grpList2.ser");
} catch (IOException i) {
i.printStackTrace();
}
// 从 Object 类型转换回 ArrayList<HashMap<String, String>>
try {
FileInputStream fileIn = new FileInputStream("grpList2.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
ArrayList<HashMap<String, String>> grpList2FromSer = (ArrayList<HashMap<String, String>>) in.readObject();
in.close();
fileIn.close();
System.out.println("Deserialized data:");
System.out.println(grpList2FromSer.get(0).get("key1_1"));
System.out.println(grpList2FromSer.get(0).get("key1_2"));
System.out.println(grpList2FromSer.get(1).get("key2_1"));
System.out.println(grpList2FromSer.get(1).get("key2_2"));
} catch (IOException i) {
i.printStackTrace();
return;
} catch (ClassNotFoundException c) {
System.out.println("ArrayList<HashMap<String, String>> class not found");
c.printStackTrace();
return;
}
}
}
```
输出结果为:
```
Serialized data is saved in grpList2.ser
Deserialized data:
value1_1
value1_2
value2_1
value2_2
```
阅读全文