Я написал этот удобный метод для построения карт некоторое время назад.Он берет varargs и составляет карту из них в парах.Для создания простых карт в тестовом коде это довольно удобно.Вам нужно убедиться, что вы правильно указали номера параметров, но мне это нравится, потому что это уменьшает объем кода.
@SuppressWarnings("unchecked")
public static <K, V> Map<K, V> mapOf(K key, V value, Object... morePairs) {
Map<K, V> map = new HashMap<K, V>();
map.put(key, value);
for (int i=0; i<morePairs.length; i+=2) {
map.put((K)morePairs[i], (V)morePairs[i+1]);
}
return map;
}
Затем вы можете создать карту, используя:
Map<String, String> map = mapOf("One", "1", "Two", "2");
Однако это не является чашкой чая для всех (из-за отсутствия безопасности типов), поэтому вы можете изменить реализацию, чтобы принимать пары:
Map<String, String> map = mapOf(pair("One", "1"), pair("Two", "2"));
Где вы определяете пару как статический метод, который создает простой объект, содержащийдва значения, а затем mapOf, который преобразует эти пары в записи на карте.