个人可以做商城网站吗,wordpress 制作 文档 插件,针对大学生推广引流,美橙互联网站后台stream流 1.介绍2.将List转成Set3.将List转成Map4.计算求和reduce5.查找最大值max和最小值min6.Match匹配7.过滤器 filter8.分页limit 跳过skip9.数据排序 sorted 1.介绍
stream流可以非常方便与精简的形式遍历集合#xff0c;实现过滤、排序等功能
2.将List转成Set
stream… stream流 1.介绍2.将List转成Set3.将List转成Map4.计算求和reduce5.查找最大值max和最小值min6.Match匹配7.过滤器 filter8.分页limit 跳过skip9.数据排序 sorted 1.介绍
stream流可以非常方便与精简的形式遍历集合实现过滤、排序等功能
2.将List转成Set
stream.collect(Collectors.toSet());
public class Test01 {public static void main(String[] args) {ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(张三,16));userEntities.add(new UserEntity(李四, 51));userEntities.add(new UserEntity(王五, 73));userEntities.add(new UserEntity(赵六, 12));userEntities.add(new UserEntity(赵六, 12));// 创建stream有两种方式// 1.串行流// 2.并行流// 并行流 比 串行流 效率要高StreamUserEntity stream userEntities.stream();// 转换成set集合SetUserEntity userEntitySet stream.collect(Collectors.toSet());userEntitySet.forEach(userEntity - {System.out.println(userEntity);});}
}3.将List转成Map
需要指定谁作为key谁作为value stream.collect(Collectors.toMap());
public class Test02 {public static void main(String[] args) {ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(张三,16));userEntities.add(new UserEntity(李四, 51));userEntities.add(new UserEntity(王五, 73));userEntities.add(new UserEntity(赵六, 12));// list集合并没有key// 指定userName作为keyuser对象作为valueStreamUserEntity userEntityStream userEntities.stream();/*** new FunctionUserEntity(List集合中的类型), String(Map中的Key)()*/MapString, UserEntity collect userEntityStream.collect(Collectors.toMap(new FunctionUserEntity, String() {Overridepublic String apply(UserEntity userEntity) {// 设置key的值return userEntity.getUserName();}}, new FunctionUserEntity, UserEntity() {Overridepublic UserEntity apply(UserEntity userEntity) {// 设置value的值return userEntity;}}));collect.forEach(new BiConsumer() {Overridepublic void accept(Object key, Object value) {System.out.println(key : value);}});}
}4.计算求和reduce
public class Test03 {public static void main(String[] args) {StreamInteger integerStream Stream.of(10, 89, 204, 56);OptionalInteger reduce integerStream.reduce(new BinaryOperatorInteger() {Overridepublic Integer apply(Integer integer, Integer integer2) {return integer integer2;}});System.out.println(reduce.get());System.out.println();// 计算每个user的年龄的总数ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(张三,16));userEntities.add(new UserEntity(李四, 51));userEntities.add(new UserEntity(王五, 73));userEntities.add(new UserEntity(赵六, 12));userEntities.add(new UserEntity(赵六, 12));StreamUserEntity userEntityStream userEntities.stream();OptionalUserEntity sum userEntityStream.reduce(new BinaryOperatorUserEntity() {Overridepublic UserEntity apply(UserEntity u1, UserEntity u2) {return new UserEntity(sum, u1.getAge() u2.getAge());}});System.out.println(sum.get().getAge());}
}5.查找最大值max和最小值min
public class Test04 {public static void main(String[] args) {ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(张三,16));userEntities.add(new UserEntity(李四, 51));userEntities.add(new UserEntity(王五, 73));userEntities.add(new UserEntity(赵六, 12));userEntities.add(new UserEntity(赵六, 12));// 最大值StreamUserEntity userEntityStream1 userEntities.stream();OptionalUserEntity max userEntityStream1.max((o1, o2) - o1.getAge() - o2.getAge());System.out.println(max max.get());// 最小值StreamUserEntity userEntityStream2 userEntities.stream();OptionalUserEntity min userEntityStream2.min((o1, o2) - o1.getAge() - o2.getAge());System.out.println(min min.get());}
}6.Match匹配
anyMatch判断条件里任意一个元素成功返回true AllMatch判断条件里所有的都是成功返回true noneMatch跟allMatch相反判断条件里的元素所有的都不是返回true
public class Test05 {public static void main(String[] args) {ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(zhangsan,16));userEntities.add(new UserEntity(lisi, 51));userEntities.add(new UserEntity(wangwu, 73));userEntities.add(new UserEntity(zhaoliu, 12));userEntities.add(new UserEntity(zhaoliu, 12));StreamUserEntity userEntityStream userEntities.stream();boolean b userEntityStream.noneMatch(new PredicateUserEntity() {Overridepublic boolean test(UserEntity userEntity) {return zhangsan.equals(userEntity.getUserName());}});System.out.println(b b);}
}7.过滤器 filter
public class Test06 {public static void main(String[] args) {ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(zhangsan,26));userEntities.add(new UserEntity(lisi, 51));userEntities.add(new UserEntity(wangwu, 73));userEntities.add(new UserEntity(zhaoliu, 12));userEntities.add(new UserEntity(zhaoliu, 63));StreamUserEntity userEntityStream userEntities.stream();userEntityStream.filter(new PredicateUserEntity() {Overridepublic boolean test(UserEntity userEntity) {return zhaoliu.equals(userEntity.getUserName()) userEntity.getAge() 2;}}).forEach(userEntity - System.out.println(userEntity));}
}8.分页limit 跳过skip
public class Test07 {public static void main(String[] args) {ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(zhangsan,26));userEntities.add(new UserEntity(lisi, 51));userEntities.add(new UserEntity(wangwu, 73));userEntities.add(new UserEntity(zhaoliu, 12));userEntities.add(new UserEntity(zhaoliu, 63));// 只查询前5条StreamUserEntity userEntityStream1 userEntities.stream();userEntityStream1.limit(3).forEach(userEntity - System.out.println(userEntity));System.out.println();// 查询 第2条-4条StreamUserEntity userEntityStream2 userEntities.stream();userEntityStream2.skip(2).limit(2).forEach(userEntity - System.out.println(userEntity));}
}9.数据排序 sorted
public class Test08 {public static void main(String[] args) {ArrayListUserEntity userEntities new ArrayList();userEntities.add(new UserEntity(zhangsan,26));userEntities.add(new UserEntity(lisi, 51));userEntities.add(new UserEntity(wangwu, 73));userEntities.add(new UserEntity(zhaoliu, 12));userEntities.add(new UserEntity(zhaoliu, 63));StreamUserEntity userEntityStream userEntities.stream();userEntityStream.sorted(new ComparatorUserEntity() {Overridepublic int compare(UserEntity o1, UserEntity o2) {return o2.getAge() - o1.getAge();}}).forEach(userEntity - System.out.println(userEntity));}
}