Map<Integer, List>
キー、値を持つマップがあります。これを List に変換し、呼び出し元の関数に渡す必要があります。リストを取得したら、これを元に戻す必要がありますMap<Integer, List>
マップをリストに変換する理由は、このメソッドの Web サービスを作成する必要があるためです。Map を Web サービスに公開できないため、これをリストに変換する必要があります。
これを達成する方法..?
Map<Integer, List>
キー、値を持つマップがあります。これを List に変換し、呼び出し元の関数に渡す必要があります。リストを取得したら、これを元に戻す必要がありますMap<Integer, List>
マップをリストに変換する理由は、このメソッドの Web サービスを作成する必要があるためです。Map を Web サービスに公開できないため、これをリストに変換する必要があります。
これを達成する方法..?
マップには、とと呼ばれる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());
2つの属性(整数、リスト)を持つクラスを作成し、キーごとに1つのオブジェクトを持つリストを作成できます。
また、次を使用できます。
new ArrayList(Map.entrySet());
結果のセットをリストに変換します。
値 (文字列) を取得するには:
List<List<String>> listVals = new ArrayList<List<String>>(map.values());
キーを取得するには:
List<Integer> listKeys = new ArrayList<Integer>(map.keySet());
私が読んだことから、リストを介してマップを渡そうとしています(サービスの制限として)。
より良い解決策が見つからない場合は、いつでも 2 つのリストを使用できます。1 つはキー用で、もう 1 つは値用です。
(ただし、このアプローチではマップの一貫性が損なわれる危険があります)。
マップにはキーと値のペアが含まれていますが、リストにはキーと値のペアが含まれていません。したがって、Bean クラスを作成してキーと値を設定し、Bean クラスのオブジェクトを含むリストを作成できます。