Инициализировать карту, Hashmap, в Java Как бы вы инициализировали статическую карту в Java? Метод первый: создайте класс, который простирается от Hashmap, как показано ниже Вот пример, иллюстрирующий способ использования CustomMap: Ответ 1 public class CustomMap < K, V > extends java.util.HashMap < K, V > { public CustomMap(Object[]...objs) { super(); this.of(objs); } public java.util.Map < K, V > of(Object[]...objs) { for (Object[] o: objs) { this.of((K) o[0], (V) o[1]); } return this; } public java.util.Map < K, V > of(K k, V v) { this.put(k, v); return this; } public static Object[] tuple(Object k, Object v) { return new Object[] { k, v }; } //USAGE public static void main(String...args) { //import static CustomMap.tuple; java.util.Map < String, String > cmap = new CustomMap < > (CustomMap.tuple("One", "Two")); } }
Ответ 1 public class CustomMap < K, V > extends java.util.HashMap < K, V > { public CustomMap(Object[]...objs) { super(); this.of(objs); } public java.util.Map < K, V > of(Object[]...objs) { for (Object[] o: objs) { this.of((K) o[0], (V) o[1]); } return this; } public java.util.Map < K, V > of(K k, V v) { this.put(k, v); return this; } public static Object[] tuple(Object k, Object v) { return new Object[] { k, v }; } //USAGE public static void main(String...args) { //import static CustomMap.tuple; java.util.Map < String, String > cmap = new CustomMap < > (CustomMap.tuple("One", "Two")); } }