HOWTO · Java

Java でマップ値をリストに変換する

このチュートリアルでは、3つのプログラムを実行して、ハッシュマップ値を Java でリストに変換する方法を示します。すべての例は動的であり、堅固なロジックを構築するための便利なメソッドが含まれています。

このページの内容

このチュートリアルでは、3つのプログラムを実行して、ハッシュマップ値を Java でリストに変換する方法を示します。

Java でリストに変換されるマップを定義する

マップ値をリストに変換する前に、まずマップオブジェクトを用意し、それをリストにグループ化する前に、整数(キー)と文字列(値)の 2つのデータ型を割り当てる必要があります。

このプログラムのキーは車の RPM 値ですが、文字列は車の色です。

構文:

Map<Integer, String> M2L = new HashMap<>();
M2L.put(5000, "Toyata Black");
M2L.put(6000, "Audi White");
M2L.put(8000, "BMW Red");
M2L.put(12000, "Buggati Silver");

Java で Collector ストリームを使用してマップをリストに変換する

Collectors は、Java でオブジェクトを拡張するパブリッククラスです。また、ユーザーが事前に定義したさまざまなベンチマークに基づいて、要素を収集し、機能を要約するのにも役立ちます。

ここでは、keySet() メソッドを使用して、マップによって返されたセットから配列リストを作成することにより、キーを取得します。

マップをリストに変換する次の例を確認してください。

例 1:

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MapToList {
  public static void main(String[] args) {
    Map<Integer, String> M2L = new HashMap<>();
    M2L.put(1, "New York");
    M2L.put(2, "Toronto");
    M2L.put(3, "Berlin");
    List<Integer> ID = M2L.keySet().stream().collect(Collectors.toList());
    ID.forEach(System.out::println);
    List<String> NAME = M2L.values().stream().collect(Collectors.toList());
    NAME.forEach(System.out::println);
  }
}

出力:

1
2
3
New York
Toronto
Berlin

2 番目の例の次のコードについて考えてみます。

構文:

List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());

例 2:

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MaptoListExample2 {
  public static void main(String[] args) {
    Map<Integer, String> maptolist = new HashMap<>();
    maptolist.put(1, "This");
    maptolist.put(2, "Is");
    maptolist.put(3, "A");
    maptolist.put(4, "Demo");
    maptolist.put(5, "Example");
    List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
    System.out.println("Keys:");
    nums.forEach(System.out::println);
    // Conversion Strings
    List<String> chars = maptolist.values().stream().collect(Collectors.toList());
    System.out.println("Values:");
    chars.forEach(System.out::println);
  }
}

出力:

Keys:
1
2
3
4
5
Values:
This
Is
A
Demo
Example

マップとリストの背後にある基本的なロジックを確認し、オブジェクトコレクターの組み合わせを使用したので、以下はすべての状況で機能するリストへのマッププログラムです。

keySet() 関数は、マップ内のキーのセットビューを返すため、マップの変更もセットに適用されます。ここでは、以下に示すように、ラップ内でペアを形成してキーのリストを取得します。

構文:

List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());

例 3:

package maptolist;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapToListExample3 {
  public static void main(String[] args) {
    // Define Map
    Map<String, String> MAP2LIST = new HashMap<String, String>();
    // Values (key as values)
    MAP2LIST.put("1 + 1", "TWO");
    MAP2LIST.put("10 - 5", "FIVE");
    MAP2LIST.put("2.4 + 3.6", "SIX");
    // Define list
    List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
    // foreach function extends setkey and prints the output
    setkey.forEach(System.out::println);
    List<String> setvalue = new ArrayList<String>(MAP2LIST.values());
    setvalue.forEach(System.out::println);
  }
}

出力:

10 - 5
1 + 1
2.4 + 3.6
FIVE
TWO
SIX