Java Equivalent to Python Dictionaries
Java Equivalent to Python Dictionaries
Pythons dict
class is an implementation of what the Python documentation informally calls mapping types. Internally, dict
is implemented using a hashtable.
Javas 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
Java Equivalent to Python Dictionaries
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 objects hashCode()
method returns a unique value that reflects its internal state. Python requires keys to fit its definition of hashable, which specifies that the objects hash code should never change over its lifetime.