0

例如,我有这张地图:

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 对象存储在服务器中,例如

MapObject mo;

是否可以将此对象存储在另一个地图中?

问候

4

1 回答 1

1

您将两个问题混合在一起。不知道你在问哪个:

  1. 您可以通过 ObjectOutputStream 传输分层地图吗?
  2. 如何将地图映射到地图?

如果您要问问题 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

查看地图地图可以做什么的示例。

该树哈希节点是在 2004 年编写的(很糟糕)(并且需要删除像 toStringBuffer 这样的绒毛),但它足以说明 xpath 可寻址哈希树。我有另一个版本的 GWT,在其他地方去掉了绒毛。

于 2012-01-26T23:31:24.737 回答