Stream流使用实例
ArrayList<String> objects = new ArrayList<>();
objects.add("a");objects.add("b");objects.add("c");objects.add("d");
// 列表转列表:直接toList
List<String> ans1 = objects.stream()
.filter(x -> x.equals("a") || x.equals("b"))
.collect(Collectors.toList());
// 列表转map在最后toMap即可由String转Entry
Map<String, String> ans2 = objects.stream()
.filter(x -> x.equals("c") || x.equals("d"))
.collect(Collectors.toMap(x -> x, x -> x + "1", (a, b) -> b));
// map转map也是在toMap做好映射关系
Map<String, String> ans3 = ans2.entrySet().stream()
.filter(x -> x.getKey().equals("c"))
.collect(Collectors.toMap(x -> x.getKey(), x -> x.getValue()));
// map可以改元素Entry为String
List<String> ans4 = ans2.entrySet().stream()
.filter(x -> x.getKey().equals("d"))
.map(x -> x.getKey() + x.getValue())
.collect(Collectors.toList());
System.out.println("列表转列表" + ans1);
System.out.println("列表转map" + ans2);
System.out.println("map转map" + ans3);
System.out.println("map转列表" + ans4);