JavaでMapをListに変換する方法を教えてください。
Javaでは、MapをListオブジェクトに変換するために、次のような方法があります:
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = Map.of(“key1”, 1, “key2”, 2, “key3”, 3);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
// 输出转换后的List对象
for (Map.Entry<String, Integer> entry : list) {
System.out.println(“Key: ” + entry.getKey() + “, Value: ” + entry.getValue());
}
}
}
上の例では、Map オブジェクトを Set オブジェクトに変換し、さらに Set オブジェクトを List オブジェクトに変換します。これによって、Map 内のキーと値の関係を保持しつつ、List 内には挿入順に格納されます。
Java 9以降ではMap.of()メソッドで不変のMapオブジェクトを作成できることに注意します。ただしJava 8以前を利用している場合はHashMapやMapインターフェイスを実装した他のクラスを利用する必要があります。