Dictionary
A dictionary is a container type that holds a list of unique key-value pairs.
Creating a Dictionary
The constructor of BasicDictionary
is as follows:
public BasicDictionary(DATA_TYPE keyType, DATA_TYPE valueType, int capacity)
Parameters
- keyType: An enum declaring the data type of the keys.
- valueType: An enum declaring the data type of the values.
- capacity (optional, default 0): An integer specifying the initial capacity of the dictionary. The dictionary will automatically double its capacity when the number of key-value pairs exceeds capacity.
Usage
-
You can add a key-value pair to the
BasicDictionary
using theput
method.BasicDictionary basicDictionary = new BasicDictionary(Entity.DATA_TYPE.DT_STRING, Entity.DATA_TYPE.DT_INT); // key type: BasicString, value type: BasicInt basicDictionary.put(new BasicString("1"),new BasicInt(2));
-
You can retrieve the value to a key using the
get
method.BasicDictionary basicDictionary = new BasicDictionary(Entity.DATA_TYPE.DT_STRING, Entity.DATA_TYPE.DT_INT); basicDictionary.put(new BasicString("1"),new BasicInt(2)); System.out.println(basicDictionary.get(new BasicString("1"))); // output: 2
-
You can query all keys using the
keys
method.Note: Unlike
BasicSet
, thekeys
method ofBasicDictionary
returns a set with a generic type ofEntity
. For example:BasicDictionary basicDictionary = new BasicDictionary(Entity.DATA_TYPE.DT_STRING, Entity.DATA_TYPE.DT_INT); basicDictionary.put(new BasicString("1"),new BasicInt(1)); basicDictionary.put(new BasicString("2"),new BasicInt(2)); basicDictionary.put(new BasicString("3"),new BasicInt(3)); Set<Entity> entities = basicDictionary.keys(); for (Entity e : entities) { System.out.print(e.getString() + " "); } // output: 1 2 3
-
You can directly get the key-value mappings in
BasicDictionary
using thegetString
method:BasicDictionary basicDictionary = new BasicDictionary(Entity.DATA_TYPE.DT_STRING, Entity.DATA_TYPE.DT_INT); basicDictionary.put(new BasicString("1"),new BasicInt(4)); basicDictionary.put(new BasicString("2"),new BasicInt(5)); basicDictionary.put(new BasicString("3"),new BasicInt(6)); System.out.println(basicDictionary.getString()); // output: {1,2,3}->{4,5,6}