From 6311a27f8cb643e199fb8de060eea43d1cc7a589 Mon Sep 17 00:00:00 2001 From: Dmytro Budym <46810751+dbudim@users.noreply.github.com> Date: Tue, 20 Jun 2023 17:53:47 +0200 Subject: [PATCH] Add code examples for "Convert Java Array to Iterable" (#14144) * Add code examples for "Convert Java Array to Iterable" * fix formatting --- .../IntArrayToIterableConversionUtils.java | 28 +++++++++++++++ ...rrayToIterableConversionUtilsUnitTest.java | 36 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtils.java create mode 100644 core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtilsUnitTest.java diff --git a/core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtils.java b/core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtils.java new file mode 100644 index 0000000000..79f15e0ddd --- /dev/null +++ b/core-java-modules/core-java-arrays-convert/src/main/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtils.java @@ -0,0 +1,28 @@ +package com.baeldung.array.conversions; + + +import com.google.common.primitives.Ints; +import org.apache.commons.lang3.ArrayUtils; + +import java.util.Arrays; +import java.util.stream.Collectors; + +public class IntArrayToIterableConversionUtils { + + public static Iterable convertWithStreamToList(int[] array) { + return Arrays.stream(array).boxed().collect(Collectors.toList()); + } + + public static Iterable convertWithStreamIterator(int[] array) { + return () -> Arrays.stream(array).iterator(); + } + + public static Iterable convertWithApacheCommonsAndJavaAsList(int[] array) { + return Arrays.asList(ArrayUtils.toObject(array)); + } + + public static Iterable convertWithGuava(int[] array) { + return Ints.asList(array); + } + +} diff --git a/core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtilsUnitTest.java b/core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtilsUnitTest.java new file mode 100644 index 0000000000..f9d8c0db5a --- /dev/null +++ b/core-java-modules/core-java-arrays-convert/src/test/java/com/baeldung/array/conversions/IntArrayToIterableConversionUtilsUnitTest.java @@ -0,0 +1,36 @@ +package com.baeldung.array.conversions; + +import org.junit.jupiter.api.Test; + +import static com.baeldung.array.conversions.IntArrayToIterableConversionUtils.*; +import static org.junit.Assert.assertTrue; + + +class IntArrayToIterableConversionUtilsUnitTest { + + private int[] ints = new int[]{1, 2, 3, 4, 5}; + + @Test + void whenConvertWithStreamToList_thenGetIterable() { + Iterable integers = convertWithStreamToList(ints); + assertTrue("should be Iterable", integers instanceof Iterable); + } + + @Test + void whenConvertWithStreamIterator_thenGetIterable() { + Iterable integers = convertWithStreamIterator(ints); + assertTrue("should be Iterable", integers instanceof Iterable); + } + + @Test + void whenConvertWithApacheCommonsAndJavaAsList_thenGetIterable() { + Iterable integers = convertWithApacheCommonsAndJavaAsList(ints); + assertTrue("should be Iterable", integers instanceof Iterable); + } + + @Test + void whenConvertWithGuava_thenGetIterable() { + Iterable integers = convertWithGuava(ints); + assertTrue("should be Iterable", integers instanceof Iterable); + } +} \ No newline at end of file