Подтвердить что ты не робот

Заполнить карту хэша во время создания

Возможный дубликат:
Как инициализировать статическую карту в Java

Как заполнить HashMap в Java во время инициализации, возможно что-то вроде этого?

public static Map<byte,int> sizeNeeded=new HashMap<byte,int>(){1,1};
4b9b3361

Ответ 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...