どうも、ちょげ(@chogetarou)です。
Map(マップ)を配列(Array)に変換する方法を紹介します。
方法

Map(マップ)を配列(Array)に変換する方法は、3つあります。
キーと値のペアを配列に変換
1つ目は、キー(Key)と値(Value)のペアを配列に変換する方法です。
まず、MapからentrySet()を呼び出します。
そして、entrySet()からtoArray()を呼び出します。
Object[] entries = map.entrySet().toArray();
上記のtoArray()は、entrySet()を呼び出したMap(マップ)のキーと値のペアを持つ要素を配列として取得します。
使用例
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Map<String, Integer> numbers = new HashMap<String, Integer>();
numbers.put("one", 1);
numbers.put("two", 2);
numbers.put("three", 3);
numbers.put("four", 4);
numbers.put("five", 5);
Object[] entries = numbers.entrySet().toArray();
for (Object entry : entries) {
System.out.println(entry);
}
}
}
出力:
four=4
one=1
two=2
three=3
five=5
キー(Key)を配列に変換
2つ目は、Mapのキー(Key)を配列に変換する方法です。
まず、MapからkeySet()を呼び出します。
keySet()からtoArray()を呼び出します。
そして、toArray()の引数に「new T[0]」(T=Mapのキーの型)を指定します。
//T=キーの型
T[] keys = map.keySet().toArray(new T[0]);
上記のtoArray()は、keySet()を呼び出したMap(マップ)の全てのキーを配列として取得します。
使用例
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Map<String, Integer> numbers = new HashMap<String, Integer>();
numbers.put("one", 1);
numbers.put("two", 2);
numbers.put("three", 3);
numbers.put("four", 4);
numbers.put("five", 5);
String[] keys = numbers.keySet().toArray(new String[0]);
for (String key : keys) {
System.out.println(key);
}
}
}
出力:
four
one
two
three
five
値(value)を配列に変換
3つ目は、値(value)を配列に変換する方法です。
まず、Mapからvalues()を呼び出します。
values()からtoArray()を呼び出します。
そして、toArray()の引数に「new T[0]」(T=Mapの値の型)を指定します。
//T=値の型
T[] values = map.values().toArray(new T[0]);
上記のtoArray()は、values()を呼び出したMap(マップ)の全ての値を配列として取得します。
使用例
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Map<String, Integer> numbers = new HashMap<String, Integer>();
numbers.put("one", 1);
numbers.put("two", 2);
numbers.put("three", 3);
numbers.put("four", 4);
numbers.put("five", 5);
Integer[] values = numbers.values().toArray(new Integer[0]);
for (int value : values) {
System.out.println(value);
}
}
}
出力:
4
1
2
3
5
まとめ
Map(マップ)を配列(Array)に変換する方法は、次の3つです。
- キーと値のペアを配列に変換する方法
Object[] entries = map.entrySet().toArray();
- キーを配列に変換する方法
T[] keys = map.keySet().toArray(new T[0]);
- 値を配列に変換する方法
T[] values = map.values().toArray(new T[0]);
コメント