diff --git a/core-java-modules/core-java-collections-3/pom.xml b/core-java-modules/core-java-collections-3/pom.xml
index bd991bfefa..b206cd61d2 100644
--- a/core-java-modules/core-java-collections-3/pom.xml
+++ b/core-java-modules/core-java-collections-3/pom.xml
@@ -27,6 +27,11 @@
${assertj.version}
test
+
+ org.apache.commons
+ commons-lang3
+ 3.10
+
diff --git a/core-java-modules/core-java-collections-3/src/main/java/com/baeldung/collections/convertarrayprimitives/ConvertPrimitivesArrayToList.java b/core-java-modules/core-java-collections-3/src/main/java/com/baeldung/collections/convertarrayprimitives/ConvertPrimitivesArrayToList.java
new file mode 100644
index 0000000000..f7be99abdc
--- /dev/null
+++ b/core-java-modules/core-java-collections-3/src/main/java/com/baeldung/collections/convertarrayprimitives/ConvertPrimitivesArrayToList.java
@@ -0,0 +1,47 @@
+package com.baeldung.collections.iterators;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+import com.google.common.primitives.Ints;
+import org.apache.commons.lang3.ArrayUtils;
+
+public class ConvertPrimitivesArrayToList {
+
+ public static void failConvert() {
+ int[] input = new int[]{1,2,3,4};
+ // List inputAsList = Arrays.asList(input);
+ }
+
+ public static List iterateConvert(int[] input) {
+ List output = new ArrayList();
+ for (int value : input) {
+ output.add(value);
+ }
+ return output;
+ }
+
+ public static List streamConvert(int[] input) {
+ List output = Arrays.stream(input).boxed().collect(Collectors.toList());
+ return output;
+ }
+
+ public static List streamConvertIntStream(int[] input) {
+ List output = IntStream.of(input).boxed().collect(Collectors.toList());
+ return output;
+ }
+
+ public static List guavaConvert(int[] input) {
+ List output = Ints.asList(input);
+ return output;
+ }
+
+ public static List apacheCommonConvert(int[] input) {
+ Integer[] outputBoxed = ArrayUtils.toObject(input);
+ List output = Arrays.asList(outputBoxed);
+ return output;
+ }
+
+}
diff --git a/core-java-modules/core-java-collections-3/src/test/java/com/baeldung/collections/convertarrayprimitives/ConvertPrimitivesArrayToListUnitTest.java b/core-java-modules/core-java-collections-3/src/test/java/com/baeldung/collections/convertarrayprimitives/ConvertPrimitivesArrayToListUnitTest.java
new file mode 100644
index 0000000000..b773baf7d8
--- /dev/null
+++ b/core-java-modules/core-java-collections-3/src/test/java/com/baeldung/collections/convertarrayprimitives/ConvertPrimitivesArrayToListUnitTest.java
@@ -0,0 +1,38 @@
+package com.baeldung.collections.iterators;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+import com.google.common.primitives.Ints;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class ConvertPrimitivesArrayToListUnitTest {
+
+ @Test
+ public void givenArrayWithPrimitives_whenIterativeConvert_thenArrayGetsConverted() {
+ assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.iterateConvert(new int[]{1,2,3,4}));
+ }
+
+ @Test
+ public void givenArrayWithPrimitives_whenStreamConvert_thenArrayGetsConverted() {
+ assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.streamConvert(new int[]{1,2,3,4}));
+ }
+
+ @Test
+ public void givenArrayWithPrimitives_whenIntStreamConvert_thenArrayGetsConverted() {
+ assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.streamConvertIntStream(new int[]{1,2,3,4}));
+ }
+
+ @Test
+ public void givenArrayWithPrimitives_whenGuavaConvert_thenArrayGetsConverted() {
+ assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.guavaConvert(new int[]{1,2,3,4}));
+ }
+
+ @Test
+ public void givenArrayWithPrimitives_whenApacheCommonConvert_thenArrayGetsConverted() {
+ assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.apacheCommonConvert(new int[]{1,2,3,4}));
+ }
+}