1

Map<Integer, List>キー、値を持つマップがあります。これを List に変換し、呼び出し元の関数に渡す必要があります。リストを取得したら、これを元に戻す必要がありますMap<Integer, List>

マップをリストに変換する理由は、このメソッドの Web サービスを作成する必要があるためです。Map を Web サービスに公開できないため、これをリストに変換する必要があります。

これを達成する方法..?

4

5 に答える 5

2

マップには、とと呼ばれる2つの関数がkeySet()ありvalues()ます。それらはそれぞれマップのキーと値を返します。キーはaとして返されSet、値はとして返されますCollection

これらのいずれかからリストを作成できます。

次に例を示します。

Map<Integer, List> map = // map creation;
List<Integer> keyList = new ArrayList<Integer>(map.keySet());
List<List> valueList = new ArrayList<List>(map.values());
于 2012-06-01T12:46:53.950 に答える
0

2つの属性(整数、リスト)を持つクラスを作成し、キーごとに1つのオブジェクトを持つリストを作成できます。

また、次を使用できます。

new ArrayList(Map.entrySet());

結果のセットをリストに変換します。

于 2012-06-01T12:46:57.937 に答える
0

値 (文字列) を取得するには:

List<List<String>> listVals = new ArrayList<List<String>>(map.values());

キーを取得するには:

List<Integer> listKeys = new ArrayList<Integer>(map.keySet());
于 2012-06-01T12:49:16.320 に答える
0

私が読んだことから、リストを介してマップを渡そうとしています(サービスの制限として)。

より良い解決策が見つからない場合は、いつでも 2 つのリストを使用できます。1 つはキー用で、もう 1 つは値用です。

(ただし、このアプローチではマップの一貫性が損なわれる危険があります)。

于 2012-06-01T12:50:35.773 に答える
0

マップにはキーと値のペアが含まれていますが、リストにはキーと値のペアが含まれていません。したがって、Bean クラスを作成してキーと値を設定し、Bean クラスのオブジェクトを含むリストを作成できます。

于 2012-06-01T12:51:46.337 に答える