В ответ на ответ Эша приведем несколько иллюстративных кодов. Обратите внимание, что здесь нет отражения.
Map<String, Object> myMap = new HashMap<String, Object>();
...
Object myObject = ...
myMap.put("albert", myObject); // record something with name "albert"
...
Object someObject = myMap.get("albert"); // get the object named "albert"
// get("albert") would return null if there nothing with name "albert"
РЕДАКТИРОВАТЬ Я отредактировал пример для использования типа Object, поскольку он более точно соответствует тому, что вы пытаетесь сделать (я думаю). Но вы можете использовать любой тип вместо Object ... просто замените тип в этом примере. И вы можете сделать то же самое с ArrayList; например:
List<Date> dates = new ArrayList<Date>();
dates.add(new Date());
Date firstDate = dates.get(0);
Обратите внимание, что типы не требуются.