Здесь:
Map<Integer,List<Subject>> map1 = new HashMap<>();
Вы заявляете, что значение карты: списки .
Затем вы пытаетесь добавить один экземпляр предметного класса!
map1.put(Integer.valueOf(1),new Subject(001,70,29l));
Не могу работать!
map1.put(1, Collections.singletonList(new Subject(001,70,29l)));
map1.put(1, Arrays.asList(new Subject(001,70,29l)));
map1.put(1, new ArrayList<>(Arrays.asList(new Subject(001,70,29l))));
все должно работать.(примечание: я не запускал вышеупомянутое через компилятор, так что игнорируйте глупые опечатки и тому подобное. И: первые два примера дадут вам строки, которые не позволят вам добавлять / удалять элементы из этих списков)
А ваша формулировка подразумевает неверное представление о вашей стороне: список не является «оберткой».Это контейнер .Коробка, в которую вы кладете вещи.И когда вы говорите: моя карта должна содержать ящики для яиц, тогда эта карта требует яиц для яиц, а не отдельных яиц!