Skip to content

Commit d24502f

Browse files
authored
Merge pull request eugenp#9419 from alexbaeldung/tutorial/Convert-an-array-of-primitives
feat: Convert an array of primitives to a List
2 parents e545aa9 + c0424d3 commit d24502f

3 files changed

Lines changed: 90 additions & 0 deletions

File tree

core-java-modules/core-java-collections-3/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@
2727
<version>${assertj.version}</version>
2828
<scope>test</scope>
2929
</dependency>
30+
<dependency>
31+
<groupId>org.apache.commons</groupId>
32+
<artifactId>commons-lang3</artifactId>
33+
<version>3.10</version>
34+
</dependency>
3035
</dependencies>
3136

3237
<properties>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.baeldung.collections.iterators;
2+
3+
import java.util.List;
4+
import java.util.ArrayList;
5+
import java.util.Arrays;
6+
import java.util.stream.Collectors;
7+
import java.util.stream.IntStream;
8+
import com.google.common.primitives.Ints;
9+
import org.apache.commons.lang3.ArrayUtils;
10+
11+
public class ConvertPrimitivesArrayToList {
12+
13+
public static void failConvert() {
14+
int[] input = new int[]{1,2,3,4};
15+
// List<Integer> inputAsList = Arrays.asList(input);
16+
}
17+
18+
public static List<Integer> iterateConvert(int[] input) {
19+
List<Integer> output = new ArrayList<Integer>();
20+
for (int value : input) {
21+
output.add(value);
22+
}
23+
return output;
24+
}
25+
26+
public static List<Integer> streamConvert(int[] input) {
27+
List<Integer> output = Arrays.stream(input).boxed().collect(Collectors.toList());
28+
return output;
29+
}
30+
31+
public static List<Integer> streamConvertIntStream(int[] input) {
32+
List<Integer> output = IntStream.of(input).boxed().collect(Collectors.toList());
33+
return output;
34+
}
35+
36+
public static List<Integer> guavaConvert(int[] input) {
37+
List<Integer> output = Ints.asList(input);
38+
return output;
39+
}
40+
41+
public static List<Integer> apacheCommonConvert(int[] input) {
42+
Integer[] outputBoxed = ArrayUtils.toObject(input);
43+
List<Integer> output = Arrays.asList(outputBoxed);
44+
return output;
45+
}
46+
47+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.baeldung.collections.iterators;
2+
3+
import java.util.List;
4+
import java.util.ArrayList;
5+
import java.util.Arrays;
6+
import java.util.stream.Collectors;
7+
import com.google.common.primitives.Ints;
8+
import org.junit.Test;
9+
10+
import static org.junit.Assert.assertEquals;
11+
12+
public class ConvertPrimitivesArrayToListUnitTest {
13+
14+
@Test
15+
public void givenArrayWithPrimitives_whenIterativeConvert_thenArrayGetsConverted() {
16+
assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.iterateConvert(new int[]{1,2,3,4}));
17+
}
18+
19+
@Test
20+
public void givenArrayWithPrimitives_whenStreamConvert_thenArrayGetsConverted() {
21+
assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.streamConvert(new int[]{1,2,3,4}));
22+
}
23+
24+
@Test
25+
public void givenArrayWithPrimitives_whenIntStreamConvert_thenArrayGetsConverted() {
26+
assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.streamConvertIntStream(new int[]{1,2,3,4}));
27+
}
28+
29+
@Test
30+
public void givenArrayWithPrimitives_whenGuavaConvert_thenArrayGetsConverted() {
31+
assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.guavaConvert(new int[]{1,2,3,4}));
32+
}
33+
34+
@Test
35+
public void givenArrayWithPrimitives_whenApacheCommonConvert_thenArrayGetsConverted() {
36+
assertEquals(Arrays.asList(1,2,3,4), ConvertPrimitivesArrayToList.apacheCommonConvert(new int[]{1,2,3,4}));
37+
}
38+
}

0 commit comments

Comments
 (0)