diff --git a/core-java-collections/README.md b/core-java-collections/README.md
index e366232f74..684beda281 100644
--- a/core-java-collections/README.md
+++ b/core-java-collections/README.md
@@ -4,37 +4,23 @@
### Relevant Articles:
- [Immutable ArrayList in Java](http://www.baeldung.com/java-immutable-list)
-- [Converting between an Array and a List in Java](http://www.baeldung.com/convert-array-to-list-and-list-to-array)
-- [Converting between an Array and a Set in Java](http://www.baeldung.com/convert-array-to-set-and-set-to-array)
-- [Converting between a List and a Set in Java](http://www.baeldung.com/convert-list-to-set-and-set-to-list)
-- [Convert a Map to an Array, List or Set in Java](http://www.baeldung.com/convert-map-values-to-array-list-set)
- [Guide to the Java ArrayList](http://www.baeldung.com/java-arraylist)
- [Random List Element](http://www.baeldung.com/java-random-list-element)
- [Java - Combine Multiple Collections](http://www.baeldung.com/java-combine-multiple-collections)
-- [Guide to WeakHashMap in Java](http://www.baeldung.com/java-weakhashmap)
-- [Guide to the Guava BiMap](http://www.baeldung.com/guava-bimap)
-- [The Java HashMap Under the Hood](http://www.baeldung.com/java-hashmap)
-- [A Guide to LinkedHashMap in Java](http://www.baeldung.com/java-linked-hashmap)
-- [A Guide to TreeMap in Java](http://www.baeldung.com/java-treemap)
- [Removing all nulls from a List in Java](http://www.baeldung.com/java-remove-nulls-from-list)
- [Removing all duplicates from a List in Java](http://www.baeldung.com/java-remove-duplicates-from-list)
- [Flattening Nested Collections in Java](http://www.baeldung.com/java-flatten-nested-collections)
- [HashSet and TreeSet Comparison](http://www.baeldung.com/java-hashset-vs-treeset)
-- [Iterate over a Map in Java](http://www.baeldung.com/java-iterate-map)
- [Collect a Java Stream to an Immutable Collection](http://www.baeldung.com/java-stream-immutable-collection)
-- [Converting a List to String in Java](http://www.baeldung.com/java-list-to-string)
- [Introduction to the Java ArrayDeque](http://www.baeldung.com/java-array-deque)
- [A Guide to HashSet in Java](http://www.baeldung.com/java-hashset)
- [A Guide to TreeSet in Java](http://www.baeldung.com/java-tree-set)
-- [Java TreeMap vs HashMap](http://www.baeldung.com/java-treemap-vs-hashmap)
- [How to TDD a List Implementation in Java](http://www.baeldung.com/java-test-driven-list)
-- [How to Store Duplicate Keys in a Map in Java?](http://www.baeldung.com/java-map-duplicate-keys)
- [Getting the Size of an Iterable in Java](http://www.baeldung.com/java-iterable-size)
- [Iterating Backward Through a List](http://www.baeldung.com/java-list-iterate-backwards)
- [How to Filter a Collection in Java](http://www.baeldung.com/java-collection-filtering)
- [Add Multiple Items to an Java ArrayList](http://www.baeldung.com/java-add-items-array-list)
- [Remove the First Element from a List](http://www.baeldung.com/java-remove-first-element-from-list)
-- [How to Convert List to Map in Java](http://www.baeldung.com/java-list-to-map)
- [Initializing HashSet at the Time of Construction](http://www.baeldung.com/java-initialize-hashset)
- [Removing the First Element of an Array](https://www.baeldung.com/java-array-remove-first-element)
- [Fail-Safe Iterator vs Fail-Fast Iterator](http://www.baeldung.com/java-fail-safe-vs-fail-fast-iterator)
@@ -47,12 +33,8 @@
- [Remove All Occurrences of a Specific Value from a List](https://www.baeldung.com/java-remove-value-from-list)
- [Thread Safe LIFO Data Structure Implementations](https://www.baeldung.com/java-lifo-thread-safe)
- [Collections.emptyList() vs. New List Instance](https://www.baeldung.com/java-collections-emptylist-new-list)
-- [Initialize a HashMap in Java](https://www.baeldung.com/java-initialize-hashmap)
- [Differences Between Collection.clear() and Collection.removeAll()](https://www.baeldung.com/java-collection-clear-vs-removeall)
- [Performance of contains() in a HashSet vs ArrayList](https://www.baeldung.com/java-hashset-arraylist-contains-performance)
-- [Get the Key for a Value from a Java Map](https://www.baeldung.com/java-map-key-from-value)
- [Time Complexity of Java Collections](https://www.baeldung.com/java-collections-complexity)
-- [Sort a HashMap in Java](https://www.baeldung.com/java-hashmap-sort)
-- [Finding the Highest Value in a Java Map](https://www.baeldung.com/java-find-map-max)
- [Operating on and Removing an Item from Stream](https://www.baeldung.com/java-use-remove-item-stream)
- [An Introduction to Synchronized Java Collections](https://www.baeldung.com/java-synchronized-collections)
diff --git a/core-java-collections/pom.xml b/core-java-collections/pom.xml
index b4a6e26d13..39ddc17684 100644
--- a/core-java-collections/pom.xml
+++ b/core-java-collections/pom.xml
@@ -14,22 +14,11 @@
-
- net.sourceforge.collections
- collections-generic
- ${collections-generic.version}
-
org.apache.commons
commons-collections4
${commons-collections4.version}
-
- com.jayway.awaitility
- awaitility
- ${avaitility.version}
- test
-
org.apache.commons
commons-lang3
@@ -67,12 +56,6 @@
commons-exec
1.3
-
-
- one.util
- streamex
- 0.6.5
-
diff --git a/java-collections-conversions/README.md b/java-collections-conversions/README.md
new file mode 100644
index 0000000000..761a78d7b0
--- /dev/null
+++ b/java-collections-conversions/README.md
@@ -0,0 +1,11 @@
+=========
+
+## Java Collections Cookbooks and Examples
+
+### Relevant Articles:
+- [Converting between an Array and a List in Java](http://www.baeldung.com/convert-array-to-list-and-list-to-array)
+- [Converting between an Array and a Set in Java](http://www.baeldung.com/convert-array-to-set-and-set-to-array)
+- [Converting between a List and a Set in Java](http://www.baeldung.com/convert-list-to-set-and-set-to-list)
+- [Convert a Map to an Array, List or Set in Java](http://www.baeldung.com/convert-map-values-to-array-list-set)
+- [Converting a List to String in Java](http://www.baeldung.com/java-list-to-string)
+- [How to Convert List to Map in Java](http://www.baeldung.com/java-list-to-map)
\ No newline at end of file
diff --git a/java-collections-conversions/pom.xml b/java-collections-conversions/pom.xml
new file mode 100644
index 0000000000..9b54652001
--- /dev/null
+++ b/java-collections-conversions/pom.xml
@@ -0,0 +1,40 @@
+
+ 4.0.0
+ java-collections-conversions
+ 0.1.0-SNAPSHOT
+ jar
+ java-collections-conversions
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+ org.apache.commons
+ commons-collections4
+ ${commons-collections4.version}
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+
+
+ 3.5
+ 4.1
+ 3.6.1
+
+
diff --git a/core-java-collections/src/main/java/com/baeldung/convertcollectiontoarraylist/Foo.java b/java-collections-conversions/src/main/java/com/baeldung/convertcollectiontoarraylist/Foo.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/convertcollectiontoarraylist/Foo.java
rename to java-collections-conversions/src/main/java/com/baeldung/convertcollectiontoarraylist/Foo.java
diff --git a/core-java-collections/src/main/java/com/baeldung/convertlisttomap/Animal.java b/java-collections-conversions/src/main/java/com/baeldung/convertlisttomap/Animal.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/convertlisttomap/Animal.java
rename to java-collections-conversions/src/main/java/com/baeldung/convertlisttomap/Animal.java
diff --git a/core-java-collections/src/main/java/com/baeldung/convertlisttomap/ConvertListToMapService.java b/java-collections-conversions/src/main/java/com/baeldung/convertlisttomap/ConvertListToMapService.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/convertlisttomap/ConvertListToMapService.java
rename to java-collections-conversions/src/main/java/com/baeldung/convertlisttomap/ConvertListToMapService.java
diff --git a/java-collections-conversions/src/main/resources/logback.xml b/java-collections-conversions/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/java-collections-conversions/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core-java-collections/src/test/java/com/baeldung/convertcollectiontoarraylist/FooUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/FooUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/convertcollectiontoarraylist/FooUnitTest.java
rename to java-collections-conversions/src/test/java/com/baeldung/convertcollectiontoarraylist/FooUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/convertlisttomap/ConvertListToMapServiceUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListToMapServiceUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/convertlisttomap/ConvertListToMapServiceUnitTest.java
rename to java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListToMapServiceUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDiplicatedIdToMapServiceUnitTest.java b/java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDiplicatedIdToMapServiceUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDiplicatedIdToMapServiceUnitTest.java
rename to java-collections-conversions/src/test/java/com/baeldung/convertlisttomap/ConvertListWithDiplicatedIdToMapServiceUnitTest.java
diff --git a/core-java-collections/src/test/java/org/baeldung/java/collections/JavaCollectionConversionUnitTest.java b/java-collections-conversions/src/test/java/org/baeldung/java/collections/JavaCollectionConversionUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/org/baeldung/java/collections/JavaCollectionConversionUnitTest.java
rename to java-collections-conversions/src/test/java/org/baeldung/java/collections/JavaCollectionConversionUnitTest.java
diff --git a/core-java-collections/src/test/java/org/baeldung/java/lists/ListToSTring.java b/java-collections-conversions/src/test/java/org/baeldung/java/lists/ListToSTring.java
similarity index 100%
rename from core-java-collections/src/test/java/org/baeldung/java/lists/ListToSTring.java
rename to java-collections-conversions/src/test/java/org/baeldung/java/lists/ListToSTring.java
diff --git a/java-collections-maps/README.md b/java-collections-maps/README.md
new file mode 100644
index 0000000000..4883e0e1b6
--- /dev/null
+++ b/java-collections-maps/README.md
@@ -0,0 +1,17 @@
+=========
+
+## Java Collections Cookbooks and Examples
+
+### Relevant Articles:
+- [Guide to WeakHashMap in Java](http://www.baeldung.com/java-weakhashmap)
+- [Guide to the Guava BiMap](http://www.baeldung.com/guava-bimap)
+- [The Java HashMap Under the Hood](http://www.baeldung.com/java-hashmap)
+- [A Guide to LinkedHashMap in Java](http://www.baeldung.com/java-linked-hashmap)
+- [A Guide to TreeMap in Java](http://www.baeldung.com/java-treemap)
+- [Iterate over a Map in Java](http://www.baeldung.com/java-iterate-map)
+- [Java TreeMap vs HashMap](http://www.baeldung.com/java-treemap-vs-hashmap)
+- [How to Store Duplicate Keys in a Map in Java?](http://www.baeldung.com/java-map-duplicate-keys)
+- [Initialize a HashMap in Java](https://www.baeldung.com/java-initialize-hashmap)
+- [Get the Key for a Value from a Java Map](https://www.baeldung.com/java-map-key-from-value)
+- [Sort a HashMap in Java](https://www.baeldung.com/java-hashmap-sort)
+- [Finding the Highest Value in a Java Map](https://www.baeldung.com/java-find-map-max)
\ No newline at end of file
diff --git a/java-collections-maps/pom.xml b/java-collections-maps/pom.xml
new file mode 100644
index 0000000000..0803866c51
--- /dev/null
+++ b/java-collections-maps/pom.xml
@@ -0,0 +1,54 @@
+
+ 4.0.0
+ java-collections-maps
+ 0.1.0-SNAPSHOT
+ jar
+ java-collections-maps
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+ org.apache.commons
+ commons-collections4
+ ${commons-collections4.version}
+
+
+ com.jayway.awaitility
+ awaitility
+ ${avaitility.version}
+ test
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+ one.util
+ streamex
+ 0.6.5
+
+
+
+
+ 3.5
+ 4.1
+ 4.01
+ 1.7.0
+ 3.6.1
+ 7.1.0
+
+
diff --git a/core-java-collections/src/main/java/com/baeldung/java/map/MapUtil.java b/java-collections-maps/src/main/java/com/baeldung/java/map/MapUtil.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/java/map/MapUtil.java
rename to java-collections-maps/src/main/java/com/baeldung/java/map/MapUtil.java
diff --git a/core-java-collections/src/main/java/com/baeldung/java/map/MyKey.java b/java-collections-maps/src/main/java/com/baeldung/java/map/MyKey.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/java/map/MyKey.java
rename to java-collections-maps/src/main/java/com/baeldung/java/map/MyKey.java
diff --git a/core-java-collections/src/main/java/com/baeldung/java/map/MyLinkedHashMap.java b/java-collections-maps/src/main/java/com/baeldung/java/map/MyLinkedHashMap.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/java/map/MyLinkedHashMap.java
rename to java-collections-maps/src/main/java/com/baeldung/java/map/MyLinkedHashMap.java
diff --git a/core-java-collections/src/main/java/com/baeldung/java/map/initialize/MapInitializer.java b/java-collections-maps/src/main/java/com/baeldung/java/map/initialize/MapInitializer.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/java/map/initialize/MapInitializer.java
rename to java-collections-maps/src/main/java/com/baeldung/java/map/initialize/MapInitializer.java
diff --git a/core-java-collections/src/main/java/com/baeldung/map/iteration/MapIteration.java b/java-collections-maps/src/main/java/com/baeldung/map/iteration/MapIteration.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/map/iteration/MapIteration.java
rename to java-collections-maps/src/main/java/com/baeldung/map/iteration/MapIteration.java
diff --git a/core-java-collections/src/main/java/com/baeldung/map/java_8/MergeMaps.java b/java-collections-maps/src/main/java/com/baeldung/map/java_8/MergeMaps.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/map/java_8/MergeMaps.java
rename to java-collections-maps/src/main/java/com/baeldung/map/java_8/MergeMaps.java
diff --git a/core-java-collections/src/main/java/com/baeldung/map/util/MapMax.java b/java-collections-maps/src/main/java/com/baeldung/map/util/MapMax.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/map/util/MapMax.java
rename to java-collections-maps/src/main/java/com/baeldung/map/util/MapMax.java
diff --git a/core-java-collections/src/main/java/com/baeldung/sort/Employee.java b/java-collections-maps/src/main/java/com/baeldung/sort/Employee.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/sort/Employee.java
rename to java-collections-maps/src/main/java/com/baeldung/sort/Employee.java
diff --git a/core-java-collections/src/main/java/com/baeldung/sort/SortHashMap.java b/java-collections-maps/src/main/java/com/baeldung/sort/SortHashMap.java
similarity index 100%
rename from core-java-collections/src/main/java/com/baeldung/sort/SortHashMap.java
rename to java-collections-maps/src/main/java/com/baeldung/sort/SortHashMap.java
diff --git a/java-collections-maps/src/main/resources/logback.xml b/java-collections-maps/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/java-collections-maps/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core-java-collections/src/test/java/com/baeldung/collection/WhenComparingTreeMapVsHashMap.java b/java-collections-maps/src/test/java/com/baeldung/collection/WhenComparingTreeMapVsHashMap.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/collection/WhenComparingTreeMapVsHashMap.java
rename to java-collections-maps/src/test/java/com/baeldung/collection/WhenComparingTreeMapVsHashMap.java
diff --git a/core-java-collections/src/test/java/com/baeldung/java/map/KeyCheckUnitTest.java b/java-collections-maps/src/test/java/com/baeldung/java/map/KeyCheckUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/java/map/KeyCheckUnitTest.java
rename to java-collections-maps/src/test/java/com/baeldung/java/map/KeyCheckUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/java/map/MapMultipleValuesUnitTest.java b/java-collections-maps/src/test/java/com/baeldung/java/map/MapMultipleValuesUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/java/map/MapMultipleValuesUnitTest.java
rename to java-collections-maps/src/test/java/com/baeldung/java/map/MapMultipleValuesUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/java/map/MapUnitTest.java b/java-collections-maps/src/test/java/com/baeldung/java/map/MapUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/java/map/MapUnitTest.java
rename to java-collections-maps/src/test/java/com/baeldung/java/map/MapUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/java/map/MapUtilUnitTest.java b/java-collections-maps/src/test/java/com/baeldung/java/map/MapUtilUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/java/map/MapUtilUnitTest.java
rename to java-collections-maps/src/test/java/com/baeldung/java/map/MapUtilUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/java/map/initialize/MapInitializerUnitTest.java b/java-collections-maps/src/test/java/com/baeldung/java/map/initialize/MapInitializerUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/java/map/initialize/MapInitializerUnitTest.java
rename to java-collections-maps/src/test/java/com/baeldung/java/map/initialize/MapInitializerUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/map/util/MapMaxUnitTest.java b/java-collections-maps/src/test/java/com/baeldung/map/util/MapMaxUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/map/util/MapMaxUnitTest.java
rename to java-collections-maps/src/test/java/com/baeldung/map/util/MapMaxUnitTest.java
diff --git a/core-java-collections/src/test/java/com/baeldung/weakhashmap/WeakHashMapUnitTest.java b/java-collections-maps/src/test/java/com/baeldung/weakhashmap/WeakHashMapUnitTest.java
similarity index 100%
rename from core-java-collections/src/test/java/com/baeldung/weakhashmap/WeakHashMapUnitTest.java
rename to java-collections-maps/src/test/java/com/baeldung/weakhashmap/WeakHashMapUnitTest.java
diff --git a/pom.xml b/pom.xml
index ed7ca7d6d3..833c621981 100644
--- a/pom.xml
+++ b/pom.xml
@@ -354,6 +354,8 @@
core-java
core-java-collections
+ java-collections-conversions
+ java-collections-maps
core-java-io
core-java-8
java-streams
@@ -1272,6 +1274,8 @@
java-strings
core-java-collections
+ java-collections-conversions
+ java-collections-maps
core-java-io
core-java-8
java-streams