Java Equivalent to Python Dictionaries

I am a long time user of Python and really like the way that the dictionaries are used. They are very intuitive and easy to use. Is there a good Java equivalent to python’s dictionaries? I have heard of people using hashmaps and hashtables. Could someone explain the similarities and differences of using hashtables and hashmaps versus python’s dictionaries?

how to properly log the output of a console program that frequently updates “parts” of the screen, resulting in a messy log file?

I have some Java executable (jar) that is run my some shell script from a cron job once every night. That executable does not print log statements “as usual” just by printing them out in a sequential manner like line after line (print after print), but while it processes its data its printing a single line with status data and then “overwrite” or “update” just that single line over and over again, until its done with this part of processing.