Как заполнить HashMap в Java во время инициализации, возможно что-то вроде этого?
public static Map<byte,int> sizeNeeded=new HashMap<byte,int>(){1,1};
Ответ 1
byte, int являются примитивными, коллекционные работы над объектом. вам нужно что-то вроде этого
public static Map<Byte, Integer> sizeNeeded = new HashMap<Byte, Integer>() {
{
put(new Byte("1"), 1);
put(new Byte("2"), 2);
}
;
};
Это создаст новую карту и с помощью блока инициализации будет вызывать метод put для заполнения данных
Ответ 2
Прежде всего, вы не можете иметь примитивы в качестве типичных параметров типа в Java, поэтому Map<byte,int> невозможно, это должно быть Map<Byte,Integer>.
Во-вторых, нет, литературных литералов в Java сейчас нет, хотя они рассматриваются как новая функция в Project Coin. К сожалению, они были удалены с Java 7, и вам придется подождать, пока Java 8...