StreamToLoop/ToPrimitiveArrayTerminalOperation: reassign final array making it possible to reuse existing variable

This commit is contained in:
Tagir Valeev
2016-12-27 13:58:09 +07:00
parent ae5d133904
commit 96cf01152f
4 changed files with 46 additions and 3 deletions
@@ -13,7 +13,8 @@ public class Main {
arr[count++] = x;
}
}
return Arrays.copyOfRange(arr, 0, count);
arr = Arrays.copyOfRange(arr, 0, count);
return arr;
}
public static void main(String[] args) {
@@ -0,0 +1,27 @@
// "Replace Stream API chain with loop" "true"
import java.util.*;
public class Main {
public int[] testPrimitive(List<String> list) {
List<String> toSort = new ArrayList<>();
for (String s : list) {
toSort.add(s);
}
toSort.sort(null);
int[] ints = new int[10];
int count = 0;
for (String s : toSort) {
int length = s.length();
if (ints.length == count) ints = Arrays.copyOf(ints, count * 2);
ints[count++] = length;
}
ints = Arrays.copyOfRange(ints, 0, count);
return ints;
}
public static void main(String[] args) {
System.out.println(Arrays
.toString(new Main().testPrimitive(asList("sdfg", "asd", "sdgfdsg", "adas", "asgfsgf", "werrew"))));
}
}
@@ -0,0 +1,15 @@
// "Replace Stream API chain with loop" "true"
import java.util.*;
public class Main {
public int[] testPrimitive(List<String> list) {
int[] ints = list.stream().sorted().mapToInt(String::length).<caret>toArray();
return ints;
}
public static void main(String[] args) {
System.out.println(Arrays
.toString(new Main().testPrimitive(asList("sdfg", "asd", "sdgfdsg", "adas", "asgfsgf", "werrew"))));
}
}