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

2 つの質問が混在しています。あなたが何を求めているのかわからない:

  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を見てください。

map of maps で何ができるかの例を見るために。

そのツリー ハッシュ ノードは 2004 年に (不十分に) 作成されました (そして、toStringBuffer のような綿毛を削除する必要があります) が、xpath でアドレス指定可能なハッシュ ツリーを説明するには十分です。綿毛が別の場所で削除された GWT の別のバージョンがあります。

于 2012-01-26T23:31:24.737 に答える