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);?