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
Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.
LinkedIn関連記事 - Java List
- Java でリストから最初の要素を取得する
- Java でリストをチャンクに分割する
- Java のフィルタ リスト
- Java のリストと Arraylist の違い
- Java を使用してリスト内の要素のインデックスを検索する