筛选重复的元素
Stream 接口支持 distinct 的方法, 它会返回一个元素(根据流所生成元素的 hashCode和equals方法实现)的流。
例如,以下代码会筛选出列表中所有的偶数,并确保没有 重复。
List<Dish> dishes = Dish.menu.stream() .filter(Dish::isVegetarian) .collect(Collectors.toList());跳过指定数量的元素
Stream 支持 skip(n) 方法,返回一个扔掉了前n个元素的流。如果流中元素不足n个,则返回一 个空流。limit(n) 和 skip(n) 是互补的
List<Dish> dishSkip = Dish.menu.stream().filter(d -> d.getCalories() > 300).skip(2) //去掉符合要求的集合中的前2个元素后返回 .collect(Collectors.toList()); dishSkip.forEach(System.out::println);map 操作
Stream 支持 map 方法,它会接受一个函数作为参数。这个函数会被应用到每个元素上,并将其映 射成一个新的元素
List<String> list = st.skip(0).limit(2).map(s->s.toUpperCase()).collect(Collectors.toList());