diff --git a/core-java-modules/core-java-arrays-2/README.md b/core-java-modules/core-java-arrays-2/README.md
deleted file mode 100644
index c4ae3f03f7..0000000000
--- a/core-java-modules/core-java-arrays-2/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## Core Java Arrays (Part 2)
-
-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)
-- [Looping Diagonally Through a 2d Java Array](https://www.baeldung.com/java-loop-diagonal-array)
-- [Converting Between Stream and Array in Java](https://www.baeldung.com/java-stream-to-array)
-- [Convert a Float to a Byte Array in Java](https://www.baeldung.com/java-convert-float-to-byte-array)
-- [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)
-- [Arrays.sort vs Arrays.parallelSort](https://www.baeldung.com/java-arrays-sort-vs-parallelsort)
-- [[<-- Prev]](/core-java-modules/core-java-arrays)
diff --git a/core-java-modules/core-java-arrays-3/README.md b/core-java-modules/core-java-arrays-3/README.md
deleted file mode 100644
index 255d3d097d..0000000000
--- a/core-java-modules/core-java-arrays-3/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Relevant Articles:
-
-- [Arrays.deepEquals](https://www.baeldung.com/java-arrays-deepequals)
diff --git a/core-java-modules/core-java-arrays-3/pom.xml b/core-java-modules/core-java-arrays-3/pom.xml
deleted file mode 100644
index 210375b878..0000000000
--- a/core-java-modules/core-java-arrays-3/pom.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
- 4.0.0
- core-java-arrays-3
- 0.1.0-SNAPSHOT
- core-java-arrays-3
- jar
-
-
- com.baeldung
- parent-java
- 0.0.1-SNAPSHOT
- ../../parent-java
-
-
-
-
- org.assertj
- assertj-core
- ${assertj.version}
- test
-
-
-
-
- 3.14.0
-
-
-
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays-convert/README.md b/core-java-modules/core-java-arrays-convert/README.md
new file mode 100644
index 0000000000..4bd060a246
--- /dev/null
+++ b/core-java-modules/core-java-arrays-convert/README.md
@@ -0,0 +1,7 @@
+## Core Java Arrays - Conversions
+
+This module contains articles about arrays conversion in Java
+
+## Relevant Articles
+- [Convert a Float to a Byte Array in Java](https://www.baeldung.com/java-convert-float-to-byte-array)
+- [Converting Between Stream and Array in Java](https://www.baeldung.com/java-stream-to-array)
diff --git a/core-java-modules/core-java-arrays-convert/pom.xml b/core-java-modules/core-java-arrays-convert/pom.xml
new file mode 100644
index 0000000000..bd50289f47
--- /dev/null
+++ b/core-java-modules/core-java-arrays-convert/pom.xml
@@ -0,0 +1,27 @@
+
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 1.0.0-SNAPSHOT
+
+ 4.0.0
+
+ core-java-arrays-convert
+ core-java-arrays-convert
+ jar
+
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+
+
+ 28.2-jre
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/conversions/FloatToByteArray.java b/core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/FloatToByteArray.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/conversions/FloatToByteArray.java
rename to core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/FloatToByteArray.java
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/conversions/StreamArrayConversion.java b/core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/StreamArrayConversion.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/conversions/StreamArrayConversion.java
rename to core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/StreamArrayConversion.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/conversions/FloatToByteArrayUnitTest.java b/core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/FloatToByteArrayUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/conversions/FloatToByteArrayUnitTest.java
rename to core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/FloatToByteArrayUnitTest.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/conversions/StreamArrayConversionUnitTest.java b/core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/StreamArrayConversionUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/conversions/StreamArrayConversionUnitTest.java
rename to core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/StreamArrayConversionUnitTest.java
diff --git a/core-java-modules/core-java-arrays-guides/README.md b/core-java-modules/core-java-arrays-guides/README.md
new file mode 100644
index 0000000000..2e66080002
--- /dev/null
+++ b/core-java-modules/core-java-arrays-guides/README.md
@@ -0,0 +1,7 @@
+## Core Java Arrays - Guides
+
+This module contains complete guides about arrays in Java
+
+### Relevant Articles:
+- [Arrays in Java: A Reference Guide](https://www.baeldung.com/java-arrays-guide)
+- [Guide to the java.util.Arrays Class](https://www.baeldung.com/java-util-arrays)
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays-guides/pom.xml b/core-java-modules/core-java-arrays-guides/pom.xml
new file mode 100644
index 0000000000..ef718d5117
--- /dev/null
+++ b/core-java-modules/core-java-arrays-guides/pom.xml
@@ -0,0 +1,32 @@
+
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 1.0.0-SNAPSHOT
+
+ 4.0.0
+
+ core-java-arrays-guides
+ core-java-arrays-guides
+ jar
+
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+
+
+
+
+ 1.19
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayReferenceGuide.java b/core-java-modules/core-java-arrays-guides/src/main/java/com/baeldung/array/ArrayReferenceGuide.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayReferenceGuide.java
rename to core-java-modules/core-java-arrays-guides/src/main/java/com/baeldung/array/ArrayReferenceGuide.java
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/arrays/ParallelPrefixBenchmark.java b/core-java-modules/core-java-arrays-guides/src/main/java/com/baeldung/arrays/ParallelPrefixBenchmark.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/arrays/ParallelPrefixBenchmark.java
rename to core-java-modules/core-java-arrays-guides/src/main/java/com/baeldung/arrays/ParallelPrefixBenchmark.java
diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/arrays/ArraysUnitTest.java b/core-java-modules/core-java-arrays-guides/src/test/java/com/baeldung/arrays/ArraysUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/arrays/ArraysUnitTest.java
rename to core-java-modules/core-java-arrays-guides/src/test/java/com/baeldung/arrays/ArraysUnitTest.java
diff --git a/core-java-modules/core-java-arrays-multidimensional/README.md b/core-java-modules/core-java-arrays-multidimensional/README.md
new file mode 100644
index 0000000000..d92747a4fb
--- /dev/null
+++ b/core-java-modules/core-java-arrays-multidimensional/README.md
@@ -0,0 +1,7 @@
+## Core Java Arrays - Multidimensional
+
+This module contains articles about multidimensional arrays in Java
+
+### Relevant Articles:
+- [Multi-Dimensional Arrays In Java](https://www.baeldung.com/java-jagged-arrays)
+- [Looping Diagonally Through a 2d Java Array](https://www.baeldung.com/java-loop-diagonal-array)
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays-multidimensional/pom.xml b/core-java-modules/core-java-arrays-multidimensional/pom.xml
new file mode 100644
index 0000000000..6e49a20521
--- /dev/null
+++ b/core-java-modules/core-java-arrays-multidimensional/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 1.0.0-SNAPSHOT
+
+ 4.0.0
+
+ core-java-arrays-multidimensional
+ core-java-arrays-multidimensional
+ jar
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java b/core-java-modules/core-java-arrays-multidimensional/src/main/java/com/baeldung/array/MultiDimensionalArray.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java
rename to core-java-modules/core-java-arrays-multidimensional/src/main/java/com/baeldung/array/MultiDimensionalArray.java
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/looping/LoopDiagonally.java b/core-java-modules/core-java-arrays-multidimensional/src/main/java/com/baeldung/array/looping/LoopDiagonally.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/array/looping/LoopDiagonally.java
rename to core-java-modules/core-java-arrays-multidimensional/src/main/java/com/baeldung/array/looping/LoopDiagonally.java
diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java b/core-java-modules/core-java-arrays-multidimensional/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java
rename to core-java-modules/core-java-arrays-multidimensional/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/looping/LoopDiagonallyUnitTest.java b/core-java-modules/core-java-arrays-multidimensional/src/test/java/com/baeldung/array/looping/LoopDiagonallyUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/looping/LoopDiagonallyUnitTest.java
rename to core-java-modules/core-java-arrays-multidimensional/src/test/java/com/baeldung/array/looping/LoopDiagonallyUnitTest.java
diff --git a/core-java-modules/core-java-arrays-operations-advanced/README.md b/core-java-modules/core-java-arrays-operations-advanced/README.md
new file mode 100644
index 0000000000..af0c00641a
--- /dev/null
+++ b/core-java-modules/core-java-arrays-operations-advanced/README.md
@@ -0,0 +1,9 @@
+## Core Java Arrays - Advanced Operations
+
+This module contains articles about advanced operations on arrays in Java. They assume some background knowledge with arrays in Java.
+
+### Relevant Articles:
+- [How to Copy an Array in Java](https://www.baeldung.com/java-array-copy)
+- [Arrays.deepEquals](https://www.baeldung.com/java-arrays-deepequals)
+- [Find Sum and Average in a Java Array](https://www.baeldung.com/java-array-sum-average)
+- [Intersection Between two Integer Arrays](https://www.baeldung.com/java-array-intersection)
diff --git a/core-java-modules/core-java-arrays-operations-advanced/pom.xml b/core-java-modules/core-java-arrays-operations-advanced/pom.xml
new file mode 100644
index 0000000000..8989e91189
--- /dev/null
+++ b/core-java-modules/core-java-arrays-operations-advanced/pom.xml
@@ -0,0 +1,36 @@
+
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 1.0.0-SNAPSHOT
+
+ 4.0.0
+
+ core-java-arrays-operations-advanced
+ core-java-arrays-operations-advanced
+ jar
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
+
+
+
+ 3.9
+
+ 3.10.0
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SumAndAverageInArray.java b/core-java-modules/core-java-arrays-operations-advanced/src/main/java/com/baeldung/array/SumAndAverageInArray.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SumAndAverageInArray.java
rename to core-java-modules/core-java-arrays-operations-advanced/src/main/java/com/baeldung/array/SumAndAverageInArray.java
diff --git a/core-java-modules/core-java-arrays-operations-advanced/src/main/java/com/baeldung/array/operations/ArraysIntersectionOperations.java b/core-java-modules/core-java-arrays-operations-advanced/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-operations-advanced/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/src/main/java/com/baeldung/arraycopy/model/Address.java b/core-java-modules/core-java-arrays-operations-advanced/src/main/java/com/baeldung/arraycopy/model/Address.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/arraycopy/model/Address.java
rename to core-java-modules/core-java-arrays-operations-advanced/src/main/java/com/baeldung/arraycopy/model/Address.java
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/arraycopy/model/Employee.java b/core-java-modules/core-java-arrays-operations-advanced/src/main/java/com/baeldung/arraycopy/model/Employee.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/arraycopy/model/Employee.java
rename to core-java-modules/core-java-arrays-operations-advanced/src/main/java/com/baeldung/arraycopy/model/Employee.java
diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/SumAndAverageInArrayUnitTest.java b/core-java-modules/core-java-arrays-operations-advanced/src/test/java/com/baeldung/array/SumAndAverageInArrayUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/SumAndAverageInArrayUnitTest.java
rename to core-java-modules/core-java-arrays-operations-advanced/src/test/java/com/baeldung/array/SumAndAverageInArrayUnitTest.java
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-operations-advanced/src/test/java/com/baeldung/array/operations/IntersectionUnitTest.java
similarity index 97%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/array/operations/IntersectionUnitTest.java
rename to core-java-modules/core-java-arrays-operations-advanced/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-operations-advanced/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/src/test/java/com/baeldung/arraycopy/ArrayCopyUtilUnitTest.java b/core-java-modules/core-java-arrays-operations-advanced/src/test/java/com/baeldung/arraycopy/ArrayCopyUtilUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/arraycopy/ArrayCopyUtilUnitTest.java
rename to core-java-modules/core-java-arrays-operations-advanced/src/test/java/com/baeldung/arraycopy/ArrayCopyUtilUnitTest.java
diff --git a/core-java-modules/core-java-arrays-3/src/test/java/com/baeldung/arrays/deepequals/ArraysDeepEqualsUnitTest.java b/core-java-modules/core-java-arrays-operations-advanced/src/test/java/com/baeldung/arrays/deepequals/ArraysDeepEqualsUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-3/src/test/java/com/baeldung/arrays/deepequals/ArraysDeepEqualsUnitTest.java
rename to core-java-modules/core-java-arrays-operations-advanced/src/test/java/com/baeldung/arrays/deepequals/ArraysDeepEqualsUnitTest.java
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..ca81c23c98
--- /dev/null
+++ b/core-java-modules/core-java-arrays-operations-basic/README.md
@@ -0,0 +1,12 @@
+## Core Java Arrays - Basic Operations
+
+This module contains articles about Java array fundamentals. They assume no previous background knowledge on working with arrays.
+
+### 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)
diff --git a/core-java-modules/core-java-arrays-2/pom.xml b/core-java-modules/core-java-arrays-operations-basic/pom.xml
similarity index 72%
rename from core-java-modules/core-java-arrays-2/pom.xml
rename to core-java-modules/core-java-arrays-operations-basic/pom.xml
index 1445a322d7..4480c14bb2 100644
--- a/core-java-modules/core-java-arrays-2/pom.xml
+++ b/core-java-modules/core-java-arrays-operations-basic/pom.xml
@@ -1,54 +1,19 @@
-
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 1.0.0-SNAPSHOT
+
4.0.0
- core-java-arrays-2
- 0.1.0-SNAPSHOT
- core-java-arrays-2
+
+ core-java-arrays-operations-basic
+ core-java-arrays-operations-basic
jar
-
- com.baeldung
- parent-java
- 0.0.1-SNAPSHOT
- ../../parent-java
-
-
-
-
- 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
-
-
-
- core-java-arrays-2
-
-
- src/main/resources
- true
-
-
org.apache.maven.plugins
@@ -74,13 +39,40 @@
-
- 1.19
-
- 3.9
-
- 3.10.0
- 3.2.0
-
+
+
+ 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-sorting/README.md b/core-java-modules/core-java-arrays-sorting/README.md
new file mode 100644
index 0000000000..f83dd43526
--- /dev/null
+++ b/core-java-modules/core-java-arrays-sorting/README.md
@@ -0,0 +1,9 @@
+## Core Java Arrays - Sorting
+
+This module contains articles about sorting arrays in Java
+
+### Relevant Articles:
+- [Sorting Arrays in Java](https://www.baeldung.com/java-sorting-arrays)
+- [Checking If an Array Is Sorted in Java](https://www.baeldung.com/java-check-sorted-array)
+- [How to Reverse an Array in Java](http://www.baeldung.com/java-invert-array)
+- [Arrays.sort vs Arrays.parallelSort](https://www.baeldung.com/java-arrays-sort-vs-parallelsort)
diff --git a/core-java-modules/core-java-arrays-sorting/pom.xml b/core-java-modules/core-java-arrays-sorting/pom.xml
new file mode 100644
index 0000000000..127d921b2a
--- /dev/null
+++ b/core-java-modules/core-java-arrays-sorting/pom.xml
@@ -0,0 +1,87 @@
+
+
+
+ core-java-modules
+ com.baeldung.core-java-modules
+ 1.0.0-SNAPSHOT
+ ../pom.xml
+
+ 4.0.0
+
+ core-java-arrays-sorting
+ core-java-arrays-sorting
+ 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}
+
+
+ com.google.guava
+ guava
+ ${guava.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
+ 28.2-jre
+
+ 1.19
+
+ 3.10.0
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayInverter.java b/core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/array/ArrayInverter.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/ArrayInverter.java
rename to core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/array/ArrayInverter.java
diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SortedArrayChecker.java b/core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/array/SortedArrayChecker.java
similarity index 97%
rename from core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SortedArrayChecker.java
rename to core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/array/SortedArrayChecker.java
index 78a9a8f4d1..8fa64972f2 100644
--- a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/SortedArrayChecker.java
+++ b/core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/array/SortedArrayChecker.java
@@ -1,7 +1,5 @@
package com.baeldung.array;
-import com.baeldung.arraycopy.model.Employee;
-
import java.util.Comparator;
public class SortedArrayChecker {
diff --git a/core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraysort/ArraySortingBenchmark.java b/core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/arraysort/ArraySortingBenchmark.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/main/java/com/baeldung/arraysort/ArraySortingBenchmark.java
rename to core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/arraysort/ArraySortingBenchmark.java
diff --git a/core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/sort/Employee.java b/core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/sort/Employee.java
new file mode 100644
index 0000000000..e9c737b74b
--- /dev/null
+++ b/core-java-modules/core-java-arrays-sorting/src/main/java/com/baeldung/sort/Employee.java
@@ -0,0 +1,48 @@
+package com.baeldung.sort;
+
+import java.io.Serializable;
+
+public class Employee implements Serializable {
+ private static final long serialVersionUID = -2454619097207585825L;
+ private int id;
+ private String name;
+ private int age;
+
+ public Employee() {
+ }
+
+ public Employee(int id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public Employee(int id, String name, int age) {
+ this.id = id;
+ this.name = name;
+ this.age = age;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/ArrayInverterUnitTest.java b/core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/array/ArrayInverterUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/ArrayInverterUnitTest.java
rename to core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/array/ArrayInverterUnitTest.java
diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/SortedArrayCheckerUnitTest.java b/core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/array/SortedArrayCheckerUnitTest.java
similarity index 98%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/SortedArrayCheckerUnitTest.java
rename to core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/array/SortedArrayCheckerUnitTest.java
index 7971e0eab7..5411dcba72 100644
--- a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/SortedArrayCheckerUnitTest.java
+++ b/core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/array/SortedArrayCheckerUnitTest.java
@@ -1,6 +1,6 @@
package com.baeldung.array;
-import com.baeldung.arraycopy.model.Employee;
+import com.baeldung.sort.Employee;
import org.junit.Before;
import org.junit.Test;
diff --git a/core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraysort/SortComparisonUnitTest.java b/core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/arraysort/SortComparisonUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-arrays-2/src/test/java/com/baeldung/arraysort/SortComparisonUnitTest.java
rename to core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/arraysort/SortComparisonUnitTest.java
diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/sort/ArraySortUnitTest.java b/core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/sort/ArraySortUnitTest.java
similarity index 98%
rename from core-java-modules/core-java-arrays/src/test/java/com/baeldung/sort/ArraySortUnitTest.java
rename to core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/sort/ArraySortUnitTest.java
index 59035738fe..b89a870c51 100644
--- a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/sort/ArraySortUnitTest.java
+++ b/core-java-modules/core-java-arrays-sorting/src/test/java/com/baeldung/sort/ArraySortUnitTest.java
@@ -1,6 +1,5 @@
package com.baeldung.sort;
-import com.baeldung.arraycopy.model.Employee;
import org.junit.Before;
import org.junit.Test;
@@ -86,5 +85,4 @@ public class ArraySortUnitTest {
assertArrayEquals(new Employee[]{david, john, mary}, employees);
}
-
}
diff --git a/core-java-modules/core-java-arrays/README.md b/core-java-modules/core-java-arrays/README.md
deleted file mode 100644
index 9d9db9ab81..0000000000
--- a/core-java-modules/core-java-arrays/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## Core Java Arrays
-
-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)
-- [Guide to the java.util.Arrays Class](https://www.baeldung.com/java-util-arrays)
-- [Multi-Dimensional Arrays In Java](https://www.baeldung.com/java-jagged-arrays)
-- [Find Sum and Average in a Java Array](https://www.baeldung.com/java-array-sum-average)
-- [Arrays in Java: A Reference Guide](https://www.baeldung.com/java-arrays-guide)
-- [How to Reverse an Array in Java](http://www.baeldung.com/java-invert-array)
-- [Sorting Arrays in Java](https://www.baeldung.com/java-sorting-arrays)
-- [Checking If an Array Is Sorted in Java](https://www.baeldung.com/java-check-sorted-array)
-- [[More -->]](/core-java-modules/core-java-arrays-2)
diff --git a/core-java-modules/core-java-arrays/pom.xml b/core-java-modules/core-java-arrays/pom.xml
deleted file mode 100644
index ea28eb25eb..0000000000
--- a/core-java-modules/core-java-arrays/pom.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-
-
- 4.0.0
- core-java-arrays
- 0.1.0-SNAPSHOT
- core-java-arrays
- jar
-
-
- com.baeldung
- parent-java
- 0.0.1-SNAPSHOT
- ../../parent-java
-
-
-
-
- org.apache.commons
- commons-lang3
- ${commons-lang3.version}
-
-
-
- org.assertj
- assertj-core
- ${assertj-core.version}
- test
-
-
- org.openjdk.jmh
- jmh-core
- ${jmh-core.version}
-
-
- org.openjdk.jmh
- jmh-generator-annprocess
- ${jmh-generator-annprocess.version}
-
-
-
-
- core-java-arrays
-
-
- src/main/resources
- true
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- copy-dependencies
- prepare-package
-
- copy-dependencies
-
-
- ${project.build.directory}/libs
-
-
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- ${exec-maven-plugin.version}
-
- java
- com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed
-
- -Xmx300m
- -XX:+UseParallelGC
- -classpath
-
- com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- ${maven-javadoc-plugin.version}
-
- ${source.version}
- ${target.version}
-
-
-
-
-
-
-
- integration
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- integration-test
-
- test
-
-
-
- **/*ManualTest.java
-
-
- **/*IntegrationTest.java
- **/*IntTest.java
-
-
-
-
-
-
- json
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- ${exec-maven-plugin.version}
-
-
- run-benchmarks
-
- none
-
- exec
-
-
- test
- java
-
- -classpath
-
- org.openjdk.jmh.Main
- .*
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3.9
-
- 1.19
- 1.19
-
-
- 3.10.0
-
-
- 3.0.0-M1
- 1.6.0
- 1.8
- 1.8
-
-
-
diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml
index 00ef24be92..b7454cc737 100644
--- a/core-java-modules/pom.xml
+++ b/core-java-modules/pom.xml
@@ -31,10 +31,14 @@
core-java-annotations
- core-java-arrays
- core-java-arrays-2
- core-java-arrays-3
+ core-java-arrays-sorting
+ core-java-arrays-guides
+ core-java-arrays-multidimensional
+ core-java-arrays-convert
+ core-java-arrays-operations-basic
+ core-java-arrays-operations-advanced
+
core-java-collections
core-java-collections-2
core-java-collections-3