diff --git a/core-java-modules/core-java-arrays-2/README.md b/core-java-modules/core-java-arrays-2/README.md
index eefc6aa787..bde6c6cc1e 100644
--- a/core-java-modules/core-java-arrays-2/README.md
+++ b/core-java-modules/core-java-arrays-2/README.md
@@ -4,10 +4,5 @@ This module contains articles about Java arrays
## Relevant Articles
-- [Extending an Array’s Length](https://www.baeldung.com/java-array-add-element-at-the-end)
-- [Array Operations in Java](https://www.baeldung.com/java-common-array-operations)
- [Intersection Between two Integer Arrays](https://www.baeldung.com/java-array-intersection)
-- [Removing an Element from an Array in Java](https://www.baeldung.com/java-array-remove-element)
-- [Removing the First Element of an Array](https://www.baeldung.com/java-array-remove-first-element)
-- [Adding an Element to a Java Array vs an ArrayList](https://www.baeldung.com/java-add-element-to-array-vs-list)
- [[<-- Prev]](/core-java-modules/core-java-arrays)
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArraysIntersectionOperations.java b/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArraysIntersectionOperations.java
new file mode 100644
index 0000000000..6c4ce837ad
--- /dev/null
+++ b/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArraysIntersectionOperations.java
@@ -0,0 +1,27 @@
+package com.baeldung.array.operations;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.stream.Stream;
+
+public class ArraysIntersectionOperations {
+
+ public static Integer[] intersectionSimple(final Integer[] a, final Integer[] b) {
+ return Stream.of(a)
+ .filter(Arrays.asList(b)::contains)
+ .toArray(Integer[]::new);
+ }
+
+ public static Integer[] intersectionSet(final Integer[] a, final Integer[] b) {
+ return Stream.of(a)
+ .filter(Arrays.asList(b)::contains)
+ .distinct()
+ .toArray(Integer[]::new);
+ }
+
+ public static Integer[] intersectionMultiSet(final Integer[] a, final Integer[] b) {
+ return Stream.of(a)
+ .filter(new LinkedList<>(Arrays.asList(b))::remove)
+ .toArray(Integer[]::new);
+ }
+}
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/IntersectionUnitTest.java b/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/IntersectionUnitTest.java
index 1560cc5701..b0d4a80b06 100644
--- a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/IntersectionUnitTest.java
+++ b/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/IntersectionUnitTest.java
@@ -2,7 +2,7 @@ package com.baeldung.array.operations;
import org.junit.jupiter.api.Test;
-import static com.baeldung.array.operations.ArrayOperations.*;
+import static com.baeldung.array.operations.ArraysIntersectionOperations.*;
import static org.assertj.core.api.Assertions.assertThat;
class IntersectionUnitTest {
diff --git a/core-java-modules/core-java-arrays-operations-basic/README.md b/core-java-modules/core-java-arrays-operations-basic/README.md
new file mode 100644
index 0000000000..914d5a71bd
--- /dev/null
+++ b/core-java-modules/core-java-arrays-operations-basic/README.md
@@ -0,0 +1,19 @@
+## Core Java Arrays - Basic Operations
+
+This module contains articles about basic operations on arrays in Java
+
+Basic operations would cover anything elementary we should expect to be able to achieve on a collection type:
+
+- Adding/Removing elements
+- Getting elements
+- Iterating
+
+### Relevant Articles:
+- [Initializing Arrays in Java](https://www.baeldung.com/java-initialize-array)
+- [Array Operations in Java](https://www.baeldung.com/java-common-array-operations)
+- [Adding an Element to a Java Array vs an ArrayList](https://www.baeldung.com/java-add-element-to-array-vs-list)
+- [Check if a Java Array Contains a Value](https://www.baeldung.com/java-array-contains-value)
+- [Removing an Element from an Array in Java](https://www.baeldung.com/java-array-remove-element)
+- [Removing the First Element of an Array](https://www.baeldung.com/java-array-remove-first-element)
+- [Extending an Array’s Length](https://www.baeldung.com/java-array-add-element-at-the-end)
+- [[More advanced operations -->]](/core-java-modules/core-java-arrays-operations-advanced)
diff --git a/core-java-modules/core-java-arrays-operations-basic/pom.xml b/core-java-modules/core-java-arrays-operations-basic/pom.xml
new file mode 100644
index 0000000000..4480c14bb2
--- /dev/null
+++ b/core-java-modules/core-java-arrays-operations-basic/pom.xml
@@ -0,0 +1,78 @@
+
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 1.0.0-SNAPSHOT
+
+ 4.0.0
+
+ core-java-arrays-operations-basic
+ core-java-arrays-operations-basic
+ jar
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${shade.plugin.version}
+
+
+ package
+
+ shade
+
+
+ benchmarks
+
+
+ org.openjdk.jmh.Main
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+
+
+ 3.2.0
+
+ 3.9
+
+ 1.19
+
+ 3.10.0
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/AddElementToEndOfArray.java b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/AddElementToEndOfArray.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/AddElementToEndOfArray.java
rename to core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/AddElementToEndOfArray.java
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayBenchmarkRunner.java b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/ArrayBenchmarkRunner.java
similarity index 86%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayBenchmarkRunner.java
rename to core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/ArrayBenchmarkRunner.java
index f35064b783..30c3978a3a 100644
--- a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayBenchmarkRunner.java
+++ b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/ArrayBenchmarkRunner.java
@@ -9,7 +9,7 @@ public class ArrayBenchmarkRunner {
public static void main(String[] args) throws Exception {
Options options = new OptionsBuilder()
- .include(SearchArrayUnitTest.class.getSimpleName()).threads(1)
+ .include(SearchArrayBenchmark.class.getSimpleName()).threads(1)
.forks(1).shouldFailOnError(true).shouldDoGC(true)
.jvmArgs("-server").build();
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayInitializer.java b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/ArrayInitializer.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayInitializer.java
rename to core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/ArrayInitializer.java
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/RemoveElementFromAnArray.java b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/RemoveElementFromAnArray.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/RemoveElementFromAnArray.java
rename to core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/RemoveElementFromAnArray.java
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SearchArrayUnitTest.java b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/SearchArrayBenchmark.java
similarity index 98%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SearchArrayUnitTest.java
rename to core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/SearchArrayBenchmark.java
index bed58356cb..fc4b513250 100644
--- a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SearchArrayUnitTest.java
+++ b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/SearchArrayBenchmark.java
@@ -8,7 +8,7 @@ import java.util.concurrent.TimeUnit;
@BenchmarkMode(Mode.AverageTime)
@Warmup(iterations = 5)
@OutputTimeUnit(TimeUnit.MICROSECONDS)
-public class SearchArrayUnitTest {
+public class SearchArrayBenchmark {
@State(Scope.Benchmark)
public static class SearchData {
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArrayOperations.java b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/operations/ArrayOperations.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/operations/ArrayOperations.java
rename to core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/array/operations/ArrayOperations.java
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java b/core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java
rename to core-java-modules/core-java-arrays-operations-basic/src/main/java/com/baeldung/arraylist/operations/ArrayListOperations.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/AddElementToEndOfArrayUnitTest.java b/core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/AddElementToEndOfArrayUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/AddElementToEndOfArrayUnitTest.java
rename to core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/AddElementToEndOfArrayUnitTest.java
diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/ArrayInitializerUnitTest.java b/core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/ArrayInitializerUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/ArrayInitializerUnitTest.java
rename to core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/ArrayInitializerUnitTest.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/RemoveElementFromAnArrayUnitTest.java b/core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/RemoveElementFromAnArrayUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/RemoveElementFromAnArrayUnitTest.java
rename to core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/RemoveElementFromAnArrayUnitTest.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java b/core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java
rename to core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/operations/ArrayOperationsUnitTest.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/removefirst/RemoveFirstElementUnitTest.java b/core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/removefirst/RemoveFirstElementUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/removefirst/RemoveFirstElementUnitTest.java
rename to core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/array/removefirst/RemoveFirstElementUnitTest.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java b/core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java
rename to core-java-modules/core-java-arrays-operations-basic/src/test/java/com/baeldung/arraylist/operations/ArrayListOperationsUnitTest.java
diff --git a/core-java-modules/core-java-arrays/README.md b/core-java-modules/core-java-arrays/README.md
index 7b5f21a1e6..7c7e6d0add 100644
--- a/core-java-modules/core-java-arrays/README.md
+++ b/core-java-modules/core-java-arrays/README.md
@@ -4,7 +4,5 @@ This module contains articles about Java arrays
### Relevant Articles:
- [How to Copy an Array in Java](https://www.baeldung.com/java-array-copy)
-- [Check if a Java Array Contains a Value](https://www.baeldung.com/java-array-contains-value)
-- [Initializing Arrays in Java](https://www.baeldung.com/java-initialize-array)
- [Find Sum and Average in a Java Array](https://www.baeldung.com/java-array-sum-average)
- [[More -->]](/core-java-modules/core-java-arrays-2)
diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml
index 9926e7781a..cf6e4c69cf 100644
--- a/core-java-modules/pom.xml
+++ b/core-java-modules/pom.xml
@@ -126,6 +126,7 @@
core-java-arrays-guides
core-java-arrays-multidimensional
core-java-arrays-convert
+ core-java-arrays-operations-basic