IDEA-164822 Migrate to Stream API: support toMap/groupingBy scenarios

This commit is contained in:
Tagir Valeev
2016-12-02 16:17:48 +07:00
parent 1b57cda533
commit 203c11fca6
17 changed files with 523 additions and 116 deletions

View File

@@ -0,0 +1,17 @@
// "Replace with collect" "true"
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
public class Main {
private Map<String, Integer> test(String... list) {
Map<String, Integer> map = Arrays.stream(list).filter(Objects::nonNull).collect(Collectors.toMap(s -> s, s -> 1, (a, b) -> a + b));
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,17 @@
// "Replace with collect" "true"
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
public class Main {
private Map<String, Integer> test(String... list) {
HashMap<String, Integer> map = Arrays.stream(list).filter(Objects::nonNull).collect(Collectors.toMap(s -> s, s -> 1, (a, b) -> b, HashMap::new));
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,17 @@
// "Replace with collect" "true"
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
public class Main {
private Map<String, Integer> test(String... list) {
Map<String, Integer> map = Arrays.stream(list).filter(Objects::nonNull).collect(Collectors.toMap(s -> s, s -> 1, (a, b) -> a, LinkedHashMap::new));
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,14 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Main {
private Map<Integer, ArrayList<String>> test(String... list) {
Map<Integer, ArrayList<String>> map = Arrays.stream(list).filter(Objects::nonNull).collect(Collectors.groupingBy(String::length, Collectors.toCollection(ArrayList::new)));
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,14 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Main {
private Map<Integer, List<String>> test(String... list) {
Map<Integer, List<String>> map = Arrays.stream(list).filter(Objects::nonNull).collect(Collectors.groupingBy(String::length, Collectors.mapping(String::trim, Collectors.toCollection(LinkedList::new))));
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,14 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Main {
private Map<Integer, List<String>> test(String... list) {
HashMap<Integer, List<String>> map = Arrays.stream(list).filter(Objects::nonNull).collect(Collectors.groupingBy(String::length, HashMap::new, Collectors.mapping(String::trim, Collectors.toList())));
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,14 @@
// "Replace with collect" "true"
import java.util.*;
import java.util.stream.Collectors;
public class Main {
private Map<Integer, List<String>> test(String... list) {
Map<Integer, List<String>> map = Arrays.stream(list).filter(Objects::nonNull).collect(Collectors.groupingBy(String::length));
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,19 @@
// "Replace with collect" "true"
import java.util.HashMap;
import java.util.Map;
public class Main {
private Map<String, Integer> test(String... list) {
Map<String, Integer> map = new HashMap<>();
for(String s : li<caret>st) {
if(s != null) {
map.merge(s, 1, (a, b) -> a + b);
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,19 @@
// "Replace with collect" "true"
import java.util.HashMap;
import java.util.Map;
public class Main {
private Map<String, Integer> test(String... list) {
HashMap<String, Integer> map = new HashMap<>();
for(String s : lis<caret>t) {
if(s != null) {
map.put(s, 1);
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,19 @@
// "Replace with collect" "true"
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
private Map<String, Integer> test(String... list) {
Map<String, Integer> map = new LinkedHashMap<>();
for(String s : l<caret>ist) {
if(s != null) {
map.putIfAbsent(s, 1);
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,19 @@
// "Replace with collect" "false"
import java.util.HashMap;
import java.util.Map;
public class Main {
private Map<String, Integer> test(String... list) {
HashMap<String, Integer> map = new HashMap<>();
for(String s : lis<caret>t) {
if(s != null) {
map.put(s, 1,);
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,18 @@
// "Replace with collect" "true"
import java.util.*;
public class Main {
private Map<Integer, ArrayList<String>> test(String... list) {
Map<Integer, ArrayList<String>> map = new HashMap<>();
for(String s : li<caret>st) {
if(s != null) {
map.computeIfAbsent(s.length(), k -> new ArrayList<>()).add(s);
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,18 @@
// "Replace with collect" "true"
import java.util.*;
public class Main {
private Map<Integer, List<String>> test(String... list) {
Map<Integer, List<String>> map = new HashMap<>();
for(String s : li<caret>st) {
if(s != null) {
map.computeIfAbsent(s.length(), k -> new LinkedList<>()).add(s.trim());
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,18 @@
// "Replace with collect" "true"
import java.util.*;
public class Main {
private Map<Integer, List<String>> test(String... list) {
HashMap<Integer, List<String>> map = new HashMap<>();
for(String s : li<caret>st) {
if(s != null) {
map.computeIfAbsent(s.length(), k -> new ArrayList<>()).add(s.trim());
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}

View File

@@ -0,0 +1,18 @@
// "Replace with collect" "true"
import java.util.*;
public class Main {
private Map<Integer, List<String>> test(String... list) {
Map<Integer, List<String>> map = new HashMap<>();
for(String s : li<caret>st) {
if(s != null) {
map.computeIfAbsent(s.length(), k -> new ArrayList<>()).add(s);
}
}
return map;
}
public static void main(String[] args) {
System.out.println(new Main().test("a", "bbb", null, "cc", "dd", "eedasfasdfs", "dd"));
}
}