diff --git a/core-java-modules/core-java-collections-array-list/README.md b/core-java-modules/core-java-collections-array-list/README.md
new file mode 100644
index 0000000000..3d1cdd5085
--- /dev/null
+++ b/core-java-modules/core-java-collections-array-list/README.md
@@ -0,0 +1,10 @@
+=========
+
+## Core Java Collections Array List Cookbooks and Examples
+
+### Relevant Articles:
+- [Immutable ArrayList in Java](http://www.baeldung.com/java-immutable-list)
+- [Guide to the Java ArrayList](http://www.baeldung.com/java-arraylist)
+- [Add Multiple Items to an Java ArrayList](http://www.baeldung.com/java-add-items-array-list)
+- [ClassCastException: Arrays$ArrayList cannot be cast to ArrayList](https://www.baeldung.com/java-classcastexception-arrays-arraylist)
+- [Multi Dimensional ArrayList in Java](https://www.baeldung.com/java-multi-dimensional-arraylist)
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-array-list/pom.xml b/core-java-modules/core-java-collections-array-list/pom.xml
new file mode 100644
index 0000000000..95a5f3ea36
--- /dev/null
+++ b/core-java-modules/core-java-collections-array-list/pom.xml
@@ -0,0 +1,46 @@
+
+ 4.0.0
+ core-java-collections-array-list
+ 0.1.0-SNAPSHOT
+ core-java-collections-array-list
+ jar
+
+
+ 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
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+ provided
+
+
+
+
+ 4.1
+ 3.8.1
+ 3.11.1
+
+
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/classcastexception/ClassCastException.java b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/classcastexception/ClassCastException.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/classcastexception/ClassCastException.java
rename to core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/classcastexception/ClassCastException.java
diff --git a/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/Flower.java b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/Flower.java
new file mode 100644
index 0000000000..eb897ea72f
--- /dev/null
+++ b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/Flower.java
@@ -0,0 +1,28 @@
+package com.baeldung.java.list;
+
+public class Flower {
+
+ private String name;
+ private int petals;
+
+ public Flower(String name, int petals) {
+ this.name = name;
+ this.petals = petals;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getPetals() {
+ return petals;
+ }
+
+ public void setPetals(int petals) {
+ this.petals = petals;
+ }
+}
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/multidimensional/ArrayListOfArrayList.java b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/list/multidimensional/ArrayListOfArrayList.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/multidimensional/ArrayListOfArrayList.java
rename to core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/list/multidimensional/ArrayListOfArrayList.java
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/multidimensional/ThreeDimensionalArrayList.java b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/list/multidimensional/ThreeDimensionalArrayList.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/multidimensional/ThreeDimensionalArrayList.java
rename to core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/list/multidimensional/ThreeDimensionalArrayList.java
diff --git a/core-java-modules/core-java-collections-array-list/src/main/resources/logback.xml b/core-java-modules/core-java-collections-array-list/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/core-java-modules/core-java-collections-array-list/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-modules/core-java-collections-list/src/test/java/com/baeldung/list/listoflist/AddElementsToListUnitTest.java b/core-java-modules/core-java-collections-array-list/src/test/java/com/baeldung/list/listoflist/AddElementsToListUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/list/listoflist/AddElementsToListUnitTest.java
rename to core-java-modules/core-java-collections-array-list/src/test/java/com/baeldung/list/listoflist/AddElementsToListUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/collections/ArrayListUnitTest.java b/core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/ArrayListUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/collections/ArrayListUnitTest.java
rename to core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/ArrayListUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java b/core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java
rename to core-java-modules/core-java-collections-array-list/src/test/java/org/baeldung/java/collections/CoreJavaCollectionsUnitTest.java
diff --git a/core-java-modules/core-java-collections-list-2/README.md b/core-java-modules/core-java-collections-list-2/README.md
new file mode 100644
index 0000000000..be10a0210c
--- /dev/null
+++ b/core-java-modules/core-java-collections-list-2/README.md
@@ -0,0 +1,17 @@
+=========
+
+## Core Java Collections List Cookbooks and Examples
+
+### Relevant Articles:
+- [Check If Two Lists are Equal in Java](http://www.baeldung.com/java-test-a-list-for-ordinality-and-equality)
+- [Java 8 Streams: Find Items From One List Based On Values From Another List](https://www.baeldung.com/java-streams-find-list-items)
+- [A Guide to the Java LinkedList](http://www.baeldung.com/java-linkedlist)
+- [Java List UnsupportedOperationException](http://www.baeldung.com/java-list-unsupported-operation-exception)
+- [Java List Initialization in One Line](https://www.baeldung.com/java-init-list-one-line)
+- [Ways to Iterate Over a List in Java](https://www.baeldung.com/java-iterate-list)
+- [Flattening Nested Collections in Java](http://www.baeldung.com/java-flatten-nested-collections)
+- [Intersection of Two Lists in Java](https://www.baeldung.com/java-lists-intersection)
+- [Determine If All Elements Are the Same in a Java List](https://www.baeldung.com/java-list-all-equal)
+- [List of Primitive Integer Values in Java](https://www.baeldung.com/java-list-primitive-int)
+- [Performance Comparison of Primitive Lists in Java](https://www.baeldung.com/java-list-primitive-performance)
+- [Filtering a Java Collection by a List](https://www.baeldung.com/java-filter-collection-by-list)
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-list-2/pom.xml b/core-java-modules/core-java-collections-list-2/pom.xml
new file mode 100644
index 0000000000..d200a3c90c
--- /dev/null
+++ b/core-java-modules/core-java-collections-list-2/pom.xml
@@ -0,0 +1,76 @@
+
+ 4.0.0
+ core-java-collections-list-2
+ 0.1.0-SNAPSHOT
+ core-java-collections-list-2
+ jar
+
+
+ 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
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+ provided
+
+
+
+ net.sf.trove4j
+ trove4j
+ ${trove4j.version}
+
+
+ it.unimi.dsi
+ fastutil
+ ${fastutil.version}
+
+
+ colt
+ colt
+ ${colt.version}
+
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh-core.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh-core.version}
+
+
+
+
+ 4.1
+ 3.8.1
+ 3.11.1
+ 3.0.2
+ 8.1.0
+ 1.2.0
+
+
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java
rename to core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/collection/filtering/Employee.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/collection/filtering/Employee.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/collection/filtering/Employee.java
rename to core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/collection/filtering/Employee.java
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/java/list/WaysToIterate.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/java/list/WaysToIterate.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/java/list/WaysToIterate.java
rename to core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/java/list/WaysToIterate.java
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java
rename to core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java
diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java
rename to core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java
diff --git a/core-java-modules/core-java-collections-list-2/src/main/resources/logback.xml b/core-java-modules/core-java-collections-list-2/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/core-java-modules/core-java-collections-list-2/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-modules/core-java-collections-list/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/com/baeldung/array/converter/ArrayConvertToListUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/array/converter/ArrayConvertToListUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/array/converter/ArrayConvertToListUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/array/converter/ArrayConvertToListUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/com/baeldung/findItems/FindItemsBasedOnOtherStreamUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findItems/FindItemsBasedOnOtherStreamUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/findItems/FindItemsBasedOnOtherStreamUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findItems/FindItemsBasedOnOtherStreamUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/com/baeldung/java/listInitialization/ListInitializationUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/java/listInitialization/ListInitializationUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/java/listInitialization/ListInitializationUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/java/listInitialization/ListInitializationUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/com/baeldung/list/flattennestedlist/FlattenNestedListUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/list/flattennestedlist/FlattenNestedListUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/list/flattennestedlist/FlattenNestedListUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/list/flattennestedlist/FlattenNestedListUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/ListAssertJUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/ListAssertJUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/ListAssertJUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/ListAssertJUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/ListJUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/ListJUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/ListJUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/ListJUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/ListTestNgUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/ListTestNgUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/ListTestNgUnitTest.java
rename to core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/ListTestNgUnitTest.java
diff --git a/core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/README.md b/core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/README.md
similarity index 100%
rename from core-java-modules/core-java-collections-list/src/test/java/org/baeldung/java/lists/README.md
rename to core-java-modules/core-java-collections-list-2/src/test/java/org/baeldung/java/lists/README.md
diff --git a/core-java-modules/core-java-collections-list/README.md b/core-java-modules/core-java-collections-list/README.md
index bfe06581c0..4bc1c5fb57 100644
--- a/core-java-modules/core-java-collections-list/README.md
+++ b/core-java-modules/core-java-collections-list/README.md
@@ -3,31 +3,14 @@
## Core Java Collections List Cookbooks and Examples
### Relevant Articles:
-- [Immutable ArrayList in Java](http://www.baeldung.com/java-immutable-list)
-- [Guide to the Java ArrayList](http://www.baeldung.com/java-arraylist)
- [Java – Get Random Item/Element From a List](http://www.baeldung.com/java-random-list-element)
- [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)
- [How to TDD a List Implementation in Java](http://www.baeldung.com/java-test-driven-list)
- [Iterating Backward Through a List](http://www.baeldung.com/java-list-iterate-backwards)
-- [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 Find an Element in a List with Java](http://www.baeldung.com/find-list-element-java)
- [Copy a List to Another List in Java](http://www.baeldung.com/java-copy-list-to-another)
- [Finding Max/Min of a List or Collection](http://www.baeldung.com/java-collection-min-max)
- [Collections.emptyList() vs. New List Instance](https://www.baeldung.com/java-collections-emptylist-new-list)
-- [Remove All Occurrences of a Specific Value from a List](https://www.baeldung.com/java-remove-value-from-list)
-- [Check If Two Lists are Equal in Java](http://www.baeldung.com/java-test-a-list-for-ordinality-and-equality)
-- [Java 8 Streams: Find Items From One List Based On Values From Another List](https://www.baeldung.com/java-streams-find-list-items)
-- [A Guide to the Java LinkedList](http://www.baeldung.com/java-linkedlist)
-- [Java List UnsupportedOperationException](http://www.baeldung.com/java-list-unsupported-operation-exception)
-- [Java List Initialization in One Line](https://www.baeldung.com/java-init-list-one-line)
-- [Ways to Iterate Over a List in Java](https://www.baeldung.com/java-iterate-list)
-- [ClassCastException: Arrays$ArrayList cannot be cast to ArrayList](https://www.baeldung.com/java-classcastexception-arrays-arraylist)
-- [Flattening Nested Collections in Java](http://www.baeldung.com/java-flatten-nested-collections)
-- [Intersection of Two Lists in Java](https://www.baeldung.com/java-lists-intersection)
-- [Multi Dimensional ArrayList in Java](https://www.baeldung.com/java-multi-dimensional-arraylist)
-- [Determine If All Elements Are the Same in a Java List](https://www.baeldung.com/java-list-all-equal)
-- [List of Primitive Integer Values in Java](https://www.baeldung.com/java-list-primitive-int)
-- [Performance Comparison of Primitive Lists in Java](https://www.baeldung.com/java-list-primitive-performance)
-- [Filtering a Java Collection by a List](https://www.baeldung.com/java-filter-collection-by-list)
+- [Remove All Occurrences of a Specific Value from a List](https://www.baeldung.com/java-remove-value-from-list)
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-list/pom.xml b/core-java-modules/core-java-collections-list/pom.xml
index 1a0b1615c8..581505dc1e 100644
--- a/core-java-modules/core-java-collections-list/pom.xml
+++ b/core-java-modules/core-java-collections-list/pom.xml
@@ -36,42 +36,12 @@
${lombok.version}
provided
-
-
- net.sf.trove4j
- trove4j
- ${trove4j.version}
-
-
- it.unimi.dsi
- fastutil
- ${fastutil.version}
-
-
- colt
- colt
- ${colt.version}
-
-
-
- org.openjdk.jmh
- jmh-core
- ${jmh-core.version}
-
-
- org.openjdk.jmh
- jmh-generator-annprocess
- ${jmh-core.version}
-
4.1
3.8.1
- 1.7.0
3.11.1
3.0.2
- 8.1.0
- 1.2.0
diff --git a/pom.xml b/pom.xml
index 22964250de..03d2e5d763 100644
--- a/pom.xml
+++ b/pom.xml
@@ -386,6 +386,8 @@
core-java-modules/core-java-arrays
core-java-modules/core-java-collections
core-java-modules/core-java-collections-list
+ core-java-modules/core-java-collections-list-2
+ core-java-modules/core-java-collections-array-list
core-java-modules/core-java-collections-set
core-java-modules/core-java-concurrency-basic
core-java-modules/core-java-concurrency-collections
@@ -1066,6 +1068,8 @@
core-java-modules/core-java-arrays
core-java-modules/core-java-collections
core-java-modules/core-java-collections-list
+ core-java-modules/core-java-collections-list-2
+ core-java-modules/core-java-collections-array-list
core-java-modules/core-java-collections-set
core-java-modules/core-java-concurrency-basic
core-java-modules/core-java-concurrency-collections