Repository: groovy Updated Branches: refs/heads/GROOVY_2_5_X 5744a2b63 -> 31e6d8907
Refine DGM `stream` (cherry picked from commit 9c310f5) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/31e6d890 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/31e6d890 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/31e6d890 Branch: refs/heads/GROOVY_2_5_X Commit: 31e6d890751d399edd4409b2c41e17a9bfa5dab8 Parents: 5744a2b Author: sunlan <[email protected]> Authored: Wed Jan 24 08:12:07 2018 +0800 Committer: sunlan <[email protected]> Committed: Wed Jan 24 08:13:47 2018 +0800 ---------------------------------------------------------------------- .../vmplugin/v8/PluginDefaultGroovyMethods.java | 74 +++++++++++--------- 1 file changed, 40 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/31e6d890/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java b/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java index c22e6ec..b7100d3 100644 --- a/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java +++ b/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java @@ -18,12 +18,10 @@ */ package org.codehaus.groovy.vmplugin.v8; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.stream.Collector; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -89,12 +87,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Integer> stream(int[] self) { - List<Integer> list = new ArrayList<>(self.length); - for (int e : self) { - list.add(e); + Integer[] array = new Integer[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } /** @@ -105,12 +104,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Long> stream(long[] self) { - List<Long> list = new ArrayList<>(self.length); - for (long e : self) { - list.add(e); + Long[] array = new Long[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } /** @@ -121,12 +121,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Double> stream(double[] self) { - List<Double> list = new ArrayList<>(self.length); - for (double e : self) { - list.add(e); + Double[] array = new Double[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } /** @@ -137,12 +138,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Character> stream(char[] self) { - List<Character> list = new ArrayList<>(self.length); - for (char e : self) { - list.add(e); + Character[] array = new Character[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } /** @@ -153,12 +155,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Byte> stream(byte[] self) { - List<Byte> list = new ArrayList<>(self.length); - for (byte e : self) { - list.add(e); + Byte[] array = new Byte[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } /** @@ -169,12 +172,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Short> stream(short[] self) { - List<Short> list = new ArrayList<>(self.length); - for (short e : self) { - list.add(e); + Short[] array = new Short[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } /** @@ -185,12 +189,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Boolean> stream(boolean[] self) { - List<Boolean> list = new ArrayList<>(self.length); - for (boolean e : self) { - list.add(e); + Boolean[] array = new Boolean[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } /** @@ -201,12 +206,13 @@ public class PluginDefaultGroovyMethods { * @return a {@code Stream} for the array */ public static Stream<Float> stream(float[] self) { - List<Float> list = new ArrayList<>(self.length); - for (float e : self) { - list.add(e); + Float[] array = new Float[self.length]; + + for (int i = 0, n = self.length; i < n; i++) { + array[i] = self[i]; } - return list.stream(); + return Arrays.stream(array); } }
