У меня была бы другая карта, чтобы держать mapInputs что-то вроде этого:
Map<Integer,Map<String,String>> context = new HashMap<Integer,Map<String,String>>();
for each(inputDoc)
{
Map<String, String> mapInput = new HashMap<String, String>();
context.put(index,mapInput);
}
У вас есть подход к наличию List (массив, связанный) вместо MAP, но это зависит от того, как вы будете получать доступ к этим inputMaps! Я бы сказал, что использование ArrayList тоже хорошо!