Piszesz niejasno, nie możesz mieć w hashmapie wartości typu String i wartości typu Date. Poniżej zakładam, że klucze są typu String, a wartości typu Date.
HashMap<String,Date> map = ...;
...
Set<Map.Entry<String,Date>> set = map.entrySet();
String[][] tab = new String[set.size()][2];
Iterator<Map.Entry<String,Date>> it = set.iterator();
int i = 0;
while(it.hasNext())
{
Map.Entry<String,Date> m = it.next();
tab[i][0] = m.getKey();
tab[i][1] = przekonwertuj(m.getValue());
i++;
}
Można też tak (będzie chyba odrobinę szybciej):
Set<String> set = map.keySet();
String[][] tab = new String[set.size()][2];
Iterator<String> it = set.iterator();
int i = 0;
while(it.hasNext())
{
String m = it.next();
tab[i][0] = m;
tab[i][1] = przekonwertuj(map.get(m));
i++;
}