Java8 Stream API中filter和map怎么选择

基本原则:
filter是满足条件的留下,是对原数组的过滤;map则是对原数组的加工,映射成一对一映射的新数组
说人话就是改变了了长度了用filter,没改变长度,只是对某一个或者几个做改变用map

 public static void main(String[] args) {
        List<String> list = Arrays.asList("java","c++","c","python","php","c","c");
   
        String res = list.stream().map(n -> n.toUpperCase()).collect(Collectors.joining(","));
        System.out.println(res);
        List<String> ls=list.stream().filter(n -> n.startsWith("c")).distinct().collect(Collectors.toList());
        System.out.println(ls);
    }
    输出结果:
   JAVA,C++,C,PYTHON,PHP,C,C
	[c++, c]

你可能感兴趣的:(Java)