diff --git a/java-collections-maps-2/pom.xml b/java-collections-maps-2/pom.xml
new file mode 100644
index 0000000000..b025c5e32d
--- /dev/null
+++ b/java-collections-maps-2/pom.xml
@@ -0,0 +1,45 @@
+
+
+ 4.0.0
+ java-collections-maps-2
+ 0.1.0-SNAPSHOT
+ java-collections-maps-2
+ jar
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+ org.eclipse.collections
+ eclipse-collections
+ ${eclipse-collections.version}
+
+
+ net.sf.trove4j
+ trove4j
+ 3.0.2
+
+
+ it.unimi.dsi
+ fastutil
+ 8.1.0
+
+
+ colt
+ colt
+ 1.2.0
+
+
+
+
+ 8.2.0
+
+
+
\ No newline at end of file
diff --git a/java-collections-maps-2/src/main/java/com/baeldung/map/PrimitiveMaps.java b/java-collections-maps-2/src/main/java/com/baeldung/map/PrimitiveMaps.java
new file mode 100644
index 0000000000..d835950c68
--- /dev/null
+++ b/java-collections-maps-2/src/main/java/com/baeldung/map/PrimitiveMaps.java
@@ -0,0 +1,69 @@
+package com.baeldung.map;
+
+import cern.colt.map.AbstractIntDoubleMap;
+import cern.colt.map.OpenIntDoubleHashMap;
+import gnu.trove.map.TDoubleIntMap;
+import gnu.trove.map.hash.TDoubleIntHashMap;
+import it.unimi.dsi.fastutil.ints.Int2BooleanMap;
+import it.unimi.dsi.fastutil.ints.Int2BooleanOpenHashMap;
+import it.unimi.dsi.fastutil.ints.Int2BooleanSortedMap;
+import it.unimi.dsi.fastutil.ints.Int2BooleanSortedMaps;
+import org.eclipse.collections.api.map.primitive.ImmutableIntIntMap;
+import org.eclipse.collections.api.map.primitive.MutableIntIntMap;
+import org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap;
+import org.eclipse.collections.impl.factory.primitive.IntIntMaps;
+import org.eclipse.collections.impl.factory.primitive.ObjectDoubleMaps;
+
+public class PrimitiveMaps {
+
+ public static void main(String[] args) {
+
+ eclipseCollectionsMap();
+ troveMap();
+ coltMap();
+ fastutilMap();
+ }
+
+ private static void fastutilMap() {
+ Int2BooleanMap int2BooleanMap = new Int2BooleanOpenHashMap();
+ int2BooleanMap.put(1, true);
+ int2BooleanMap.put(7, false);
+ int2BooleanMap.put(4, true);
+
+ boolean value = int2BooleanMap.get(1);
+
+ Int2BooleanSortedMap int2BooleanSorted = Int2BooleanSortedMaps.EMPTY_MAP;
+ }
+
+ private static void coltMap() {
+ AbstractIntDoubleMap map = new OpenIntDoubleHashMap();
+ map.put(1, 4.5);
+ double value = map.get(1);
+ }
+
+ private static void eclipseCollectionsMap() {
+ MutableIntIntMap mutableIntIntMap = IntIntMaps.mutable.empty();
+ mutableIntIntMap.addToValue(1, 1);
+
+ ImmutableIntIntMap immutableIntIntMap = IntIntMaps.immutable.empty();
+
+ MutableObjectDoubleMap dObject = ObjectDoubleMaps.mutable.empty();
+ dObject.addToValue("price", 150.5);
+ dObject.addToValue("quality", 4.4);
+ dObject.addToValue("stability", 0.8);
+ }
+
+ private static void troveMap() {
+ double[] doubles = new double[] {1.2, 4.5, 0.3};
+ int[] ints = new int[] {1, 4, 0};
+
+ TDoubleIntMap doubleIntMap = new TDoubleIntHashMap(doubles, ints);
+
+ doubleIntMap.put(1.2, 22);
+ doubleIntMap.put(4.5, 16);
+
+ doubleIntMap.adjustValue(1.2, 1);
+ doubleIntMap.adjustValue(4.5, 4);
+ doubleIntMap.adjustValue(0.3, 7);
+ }
+}