Allora in teoria un array, una mappa una volta salvata a meno che tu non gli fai un ArrayList map = null o coa del genere in teoria non dovrebbe mai perdersi.
Quindi il mio consiglio è quello di metterti in debug e di visualizzare sia prima che passi il controllo al metodo per stampare il pdf che dopo se il tuo ArrayList sia veramente popolato o meno.
Piccolo accorgimento, se le tue celle hanno sempre colspan =1 non c'è bisogno di settarlo ogni volta.
Qui comunque ti stamperà sempre bianco nel PdfPCell ricordati di mettere il contenuto dell'ArrayListfor (int j = 0; j < map.size(); j++) { PdfPCell cellMap = new PdfPCell(); cellMap.setColspan(1); pdftable.addCell(cellMap); }
in teoria il codice che hai scritto non dovrebbe avere problemi.
magari appena entri nel metodo del pdf fai
System.out.println(map.size); vedi se almeno ha qualcosa o ti arriva già nullo qui.