diff --git a/core-java-modules/core-java-collections-array-list-2/pom.xml b/core-java-modules/core-java-collections-array-list-2/pom.xml
new file mode 100644
index 0000000000..ca29a0d14b
--- /dev/null
+++ b/core-java-modules/core-java-collections-array-list-2/pom.xml
@@ -0,0 +1,32 @@
+
+
+
+ parent-modules
+ com.baeldung
+ 1.0.0-SNAPSHOT
+ ../../pom.xml
+
+ 4.0.0
+
+ core-java-collections-array-list-2
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 9
+ 9
+
+
+
+
+
+
+ 17
+ 17
+
+
+
diff --git a/core-java-modules/core-java-collections-array-list-2/src/main/java/com/baeldung/InitializeArrayListWithNullOrZeros.java b/core-java-modules/core-java-collections-array-list-2/src/main/java/com/baeldung/InitializeArrayListWithNullOrZeros.java
new file mode 100644
index 0000000000..60cd18af98
--- /dev/null
+++ b/core-java-modules/core-java-collections-array-list-2/src/main/java/com/baeldung/InitializeArrayListWithNullOrZeros.java
@@ -0,0 +1,14 @@
+package com.baeldung;
+
+import java.util.ArrayList;
+
+public class InitializeArrayListWithNullOrZeros {
+
+ public static void main(String[] args) {
+
+ ArrayList arrayList = new ArrayList<>();
+ for (int i = 0; i< 10; i++) {
+ arrayList.add(null);
+ }
+ }
+}
diff --git a/core-java-modules/core-java-collections-array-list-2/src/test/java/com/baeldung/InitializeArrayListWithNullOrZerosUnitTest.java b/core-java-modules/core-java-collections-array-list-2/src/test/java/com/baeldung/InitializeArrayListWithNullOrZerosUnitTest.java
new file mode 100644
index 0000000000..71f8a23690
--- /dev/null
+++ b/core-java-modules/core-java-collections-array-list-2/src/test/java/com/baeldung/InitializeArrayListWithNullOrZerosUnitTest.java
@@ -0,0 +1,75 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+import java.util.stream.Stream;
+
+
+public class InitializeArrayListWithNullOrZerosUnitTest {
+
+ @Test
+ public void whenInitializingListWithNCopies_thenListIsCorrectlyPopulated() {
+ // when
+ ArrayList list = IntStream.of(new int[10])
+ .boxed()
+ .collect(Collectors.toCollection(ArrayList::new));
+
+ // then
+ Assertions.assertEquals(10, list.size());
+ Assertions.assertTrue(list.stream().allMatch(elem -> elem == 0));
+ }
+
+ @Test
+ public void whenInitializingListWithStream_thenListIsCorrectlyPopulated() {
+
+ // when
+ ArrayList listWithZeros = Stream.generate(() -> 0)
+ .limit(10).collect(Collectors.toCollection(ArrayList::new));
+
+ ArrayList