例如,我有这张 map :
Map<String, Integer> map = new HashMap<String,Integer>();
比我输入一些值:
map.put("a", 2);
map.put("b", 3);
比我有这个类来序列化这个对象:
public class MapObject implements Serializable {
private static final long serialVersionUID = 1L;
Map<String, Integer> map = new HashMap<String, Integer>();
public MapObject(Map<String, Integer> map) {
this.map = map;
}
}
我这样做是因为我正在使用套接字,并且我想使用 ObjectInputStream 和 ObjectOutputStream 将 map 对象从客户端传递到服务器。
现在我想问的是我是否可以将这个 Map 对象存储在服务器中,例如
MapObject mo;
是否可以将此对象存储在另一个Map中?
问候
最佳答案
您将两个问题混淆在一起。不知道你问的是哪个:
- 可以通过 ObjectOutputStream 传输分层映射吗?
- 如何将 map 映射到 map ?
如果您问的是问题 2,您甚至不应该提及问题 1,因为这会混淆问题。或者您同时问两个问题?
问题 2 的回答:
Map<String, Map<?,?>> mapOfMap = new HashMap<String, Map<?,?>>();
Map<String, Integer> mapA = new HashMap<String, Integer>();
mapOfMap.put("a", mapA);
问题 1 的回答:
当然。
...
回答您的进一步问题:
所有键及其迭代器的集合,
Set<String> keys = mapOfMap.keySet();
Iterator<String> iterator = keys.iterator();
看看http://code.google.com/p/synthfuljava/source/browse/trunk/common/org/synthful/util/HashTreeNode.java ,
查看使用 map 的 map 可以做什么的示例。
该树哈希节点是在 2004 年编写的(很差)(并且需要删除像 toStringBuffer 这样的绒毛),但它足以说明 xpath 可寻址哈希树。我有另一个 GWT 版本,在其他地方删除了多余的内容。
关于java - 将 Map 对象存储在另一个 Map 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026791/