A basic chat program I wrote has several key words that generate special actions, images, messages, etc. I store all of the key words and special functions in a HashMap. Key wor
Well, you can write:
for(String currentKey : myHashMap.keySet()){
but this isn't really the best way to use a hash-map.
A better approach is to populate myHashMap
with all-lowercase keys, and then write:
theFunction = myHashMap.get(user.getInput().toLowerCase());
to retrieve the function (or null
if the user-input does not appear in the map).
Only in Java 8 & above
map.forEach((k,v)->System.out.println("Key: " + k + "Value: " + v));
If you need access to both key and value then this is the most efficient way
for(Entry<String, String> e : m.entrySet()) {
String key = e.getKey();
String value = e.getValue();
}
A better pattern here might be:
Value val = hashMap.get(user.getInput());
if (val != null) {
doVal();
}
else {
// handle normal, non-keyword/specfial function
}
which takes advantage of the fact that HashMap returns null
if the key isn't contained in the Map.