Java Equivalent to Python Dictionaries
Python's dict
class is an implementation of what the Python documentation informally calls "mapping types". Internally, dict
is implemented using a hashtable.
Java's HashMap
class is an implementation of the Map
interface. Internally, HashMap
is implemented using a hashtable.
There are a few minor differences in syntax, and I believe the implementations are tuned slightly differently, but overall they are completely interchangeable.
The idea of dictionary and Map is similar. Both contain elements like
key1:value1, key2:value2 ... and so on
In Java, Map
is implemented different ways like HashMap
, or TreeMap
etc. put(), get()
operations are similar
import java.util.HashMap;
Map map = new HashMap();
// Put elements to the map
map.put("Ram", new Double(3434.34));
map.put("Krishna", new Double(123.22));
map.put("Hary", new Double(1378.00));
//to get elements
map.get("Krishna"); // =123.22
map.get("Hary"); // = 1378.00
See documentation of HashMap in java8 https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html
One difference between the two is that dict
has stricter requirements as to what data types can act as a key. Java will allow any object to work as a key -- although you should take care to ensure that the object's hashCode()
method returns a unique value that reflects its internal state. Python requires keys to fit its definition of hashable, which specifies that the object's hash code should never change over its lifetime.