java - 将 Map 对象存储在另一个 Map 中

标签 java sockets dictionary hashmap objectinputstream

例如,我有这张 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中?

问候

最佳答案

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

  1. 可以通过 ObjectOutputStream 传输分层映射吗?
  2. 如何将 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/

相关文章:

java - 采用冷熔接的 socket 连接

python - 解析空格分隔的命名字段

iphone - 创建 TCP 套接字连接并在多个 View 中保持连接打开

javascript - 子组件从父组件中删除socket.io的事件监听器

python - 使用循环和字典进行动态计数的大多数 pythonic 方式

python - 如何使用Counter打印出字典中带计数的值

java - 空编辑文本给出 0 值错误

java - 复制 Java keystore

java - 使用 SQLite 在 android 中获取下一个值

java - 创建对象的副本而不复制其属性引用