Maps (aka Associative Arrays)

This page is under construction. Please come back later.
import java.util.HashMap;
import java.util.Map;
import org.pureprogrammer.Utils;
public class Maps1 {
public static void main(String[] args) {
Map<String, String> dictionary = new HashMap<>();
System.out.println(Utils.join("", "dictionary size: ", dictionary.size()));
System.out.println(Utils.join("", "dictionary is ", (dictionary.isEmpty() ? "empty" : "not empty")));
dictionary.put("apple", "red");
dictionary.put("banana", "yellow");
dictionary.put("cantaloupe", "orange");
dictionary.put("dragonfruit", "red");
dictionary.put("elderberry", "purple");
System.out.println(Utils.join("", "dictionary size: ", dictionary.size()));
System.out.println(Utils.join("", "dictionary is ", (dictionary.isEmpty() ? "empty" : "not empty")));
System.out.println(Utils.join("", "bananas are ", dictionary.get("banana")));
String x = "dragonfruit";
if (dictionary.containsKey(x)) {
System.out.println(Utils.join("", x, " are ", dictionary.get(x)));
} else {
System.out.println(Utils.join("", "Can't find ", x));
}
x = "fig";
if (dictionary.containsKey(x)) {
System.out.println(Utils.join("", x, " are ", dictionary.get(x)));
} else {
System.out.println(Utils.join("", "Can't find ", x));
}
x = "elderberry";
dictionary.remove(x);
if (dictionary.containsKey(x)) {
System.out.println(Utils.join("", x, " are ", dictionary.get(x)));
} else {
System.out.println(Utils.join("", "Can't find ", x));
}
System.out.println(Utils.mapToString(dictionary));
}
}
Output
$ javac -Xlint Maps1.java
$ java -ea Maps1
dictionary size: 0
dictionary is empty
dictionary size: 5
dictionary is not empty
bananas are yellow
dragonfruit are red
Can't find fig
Can't find elderberry
{"banana" => "yellow", "apple" => "red", "dragonfruit" => "red", "cantaloupe" => "orange"}
import java.util.HashMap;
import java.util.Map;
import org.pureprogrammer.Utils;
public class Maps2 {
public static void main(String[] args) {
Map<String, Integer> planetDiameters = Utils.map(new Object[][] {
{"Mercury", 4879},
{"Venus", 12103},
{"Earth", 12756},
{"Mars", 6794},
{"Jupiter", 142985},
{"Saturn", 120534},
{"Uranus", 51115},
{"Neptune", 49534},
{"Pluto", 2374},
{"Ceres", 946},
{"Eris", 2326},
{"Makemake", 1430}
});
for (String planet : planetDiameters.keySet()) {
System.out.println(Utils.join("", planet, " has a diameter of ", planetDiameters.get(planet), " km"));
}
}
}
Output
$ javac -Xlint Maps2.java
$ java -ea Maps2
Earth has a diameter of 12756 km
Mars has a diameter of 6794 km
Neptune has a diameter of 49534 km
Ceres has a diameter of 946 km
Jupiter has a diameter of 142985 km
Makemake has a diameter of 1430 km
Saturn has a diameter of 120534 km
Venus has a diameter of 12103 km
Eris has a diameter of 2326 km
Uranus has a diameter of 51115 km
Mercury has a diameter of 4879 km
Pluto has a diameter of 2374 km
Questions
- {{Who's on first?}}
- {{Who's on second?}}
- {{Who's on third?}}
Projects
More ★'s indicate higher difficulty level.
References
- [[Java Language Specification]], Java SE 17 Edition, Gosling, et. al., 2021.
- [[Java Tutorials]]
- [[Java at TutorialsPoint]]
- Download Java at [[Amazon Corretto]], [[Azul Zulu]], [[Eclipse Temurin]] or [[Oracle JDK]]
Pure Programmer


