diff --git a/core-java-modules/core-java-collections-2/README.md b/core-java-modules/core-java-collections-2/README.md
new file mode 100644
index 0000000000..e5f6126811
--- /dev/null
+++ b/core-java-modules/core-java-collections-2/README.md
@@ -0,0 +1,14 @@
+=========
+
+## Core Java Collections Cookbooks and Examples
+
+### Relevant Articles:
+- [Removing Elements from Java Collections](https://www.baeldung.com/java-collection-remove-elements)
+- [How to Filter a Collection in Java](https://www.baeldung.com/java-collection-filtering)
+- [Join and Split Arrays and Collections in Java](https://www.baeldung.com/java-join-and-split)
+- [Java – Combine Multiple Collections](https://www.baeldung.com/java-combine-multiple-collections)
+- [Combining Different Types of Collections in Java](https://www.baeldung.com/java-combine-collections)
+- [Shuffling Collections In Java](https://www.baeldung.com/java-shuffle-collection)
+- [Sorting in Java](https://www.baeldung.com/java-sorting)
+- [Getting the Size of an Iterable in Java](https://www.baeldung.com/java-iterable-size)
+- [Java Null-Safe Streams from Collections](https://www.baeldung.com/java-null-safe-streams-from-collections)
diff --git a/core-java-modules/core-java-collections-2/pom.xml b/core-java-modules/core-java-collections-2/pom.xml
new file mode 100644
index 0000000000..1ffa59657c
--- /dev/null
+++ b/core-java-modules/core-java-collections-2/pom.xml
@@ -0,0 +1,51 @@
+
+
+ 4.0.0
+ core-java-collections-2
+ core-java-collections-2
+ jar
+
+
+ com.ossez.core-java-modules
+ core-java-modules
+ 0.0.2-SNAPSHOT
+ ../pom.xml
+
+
+
+
+ org.eclipse.collections
+ eclipse-collections
+ ${eclipse.collections.version}
+
+
+ org.apache.commons
+ commons-collections4
+ ${commons-collections4.version}
+
+
+ org.apache.commons
+ commons-exec
+ ${commons-exec.version}
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ org.junit.platform
+ junit-platform-runner
+ ${junit-platform.version}
+ test
+
+
+
+
+ 7.1.0
+ 1.3
+
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-collections-2/src/main/java/com/ossez/collections/combiningcollections/CombiningArrays.java b/core-java-modules/core-java-collections-2/src/main/java/com/ossez/collections/combiningcollections/CombiningArrays.java
new file mode 100644
index 0000000000..0bd194a78c
--- /dev/null
+++ b/core-java-modules/core-java-collections-2/src/main/java/com/ossez/collections/combiningcollections/CombiningArrays.java
@@ -0,0 +1,39 @@
+package com.ossez.collections.combiningcollections;
+
+import java.util.Arrays;
+import java.util.stream.Stream;
+
+import org.apache.commons.lang3.ArrayUtils;
+
+import com.google.common.collect.ObjectArrays;
+
+public class CombiningArrays {
+
+ public static Object[] usingNativeJava(Object[] first, Object[] second) {
+ Object[] combined = new Object[first.length + second.length];
+ System.arraycopy(first, 0, combined, 0, first.length);
+ System.arraycopy(second, 0, combined, first.length, second.length);
+ return combined;
+ }
+
+ public static Object[] usingJava8ObjectStream(Object[] first, Object[] second) {
+ Object[] combined = Stream.concat(Arrays.stream(first), Arrays.stream(second)).toArray();
+ return combined;
+ }
+
+ public static Object[] usingJava8FlatMaps(Object[] first, Object[] second) {
+ Object[] combined = Stream.of(first, second).flatMap(Stream::of).toArray(String[]::new);
+ return combined;
+ }
+
+ public static Object[] usingApacheCommons(Object[] first, Object[] second) {
+ Object[] combined = ArrayUtils.addAll(first, second);
+ return combined;
+ }
+
+ public static Object[] usingGuava(Object[] first, Object[] second) {
+ Object [] combined = ObjectArrays.concat(first, second, Object.class);
+ return combined;
+ }
+
+}
diff --git a/core-java-modules/core-java-collections-2/src/main/java/com/ossez/collections/combiningcollections/CombiningLists.java b/core-java-modules/core-java-collections-2/src/main/java/com/ossez/collections/combiningcollections/CombiningLists.java
new file mode 100644
index 0000000000..b41a581f38
--- /dev/null
+++ b/core-java-modules/core-java-collections-2/src/main/java/com/ossez/collections/combiningcollections/CombiningLists.java
@@ -0,0 +1,46 @@
+package com.ossez.collections.combiningcollections;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import org.apache.commons.collections4.ListUtils;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+public class CombiningLists {
+
+ public static List