07 2022 档案

摘要:一、概述 流式思想(Stream)类似于工厂车间的生产流水线,Stream 流不是一种数据结构,不保存数据,而是对数据进行加工处理,Stream 流可以看作是流水线上的一个工序,通过多个工序让一个原材料加工成一个商品 二、获取 Stream 流的常用方式 1、集合接口 Collection 的默认方 阅读全文
posted @ 2022-07-19 15:55 变体精灵 阅读(107) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 max : 获取最大值 min : 获取最小值 Optional<T> max(Comparator<? super T> comparator) max、min 方法参数类型为 Comparator 接口,利用比较器自定义排序 二、案例 public class StreamDemo 阅读全文
posted @ 2022-07-19 10:33 变体精灵 阅读(5517) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 如果需要判断流中元素是否匹配指定的条件,可以使用 match 相关方法 allMatch : 所有元素是否都满足条件 noneMatch : 所有元素是否都不满足条件 anyMatch : 所有元素中是否有一个满足条件 二、案例 public class StreamDemo { pu 阅读全文
posted @ 2022-07-19 10:11 变体精灵 阅读(963) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 如果想要对流中元素进行去重可以使用 distinct 方法 二、案例 1、根据 hashcode 和 equal 进行去重 public class StreamDemo { public static void main(String[] args) { List<Person> p 阅读全文
posted @ 2022-07-12 21:48 变体精灵 阅读(3347) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 如果需要对流中数据进行排序,可以使用 sorted 方法 Stream<T> sorted(): 根据元素的自然顺序排序 Stream<T> sorted(Comparator<? super T> comparator): 根据比较器指定的规则排序 二、案例 1、使用自然排序 sor 阅读全文
posted @ 2022-07-12 21:06 变体精灵 阅读(3492) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 如果需要将流中的元素映射到另一个流中,可以使用 map 方法 <R> Stream<R> map(Function<? super T, ? extends R> mapper) 该接口需要一个 Function 函数式接口参数,可以将当前流中的 T 类型的流转换成另一种 R 类型的流 阅读全文
posted @ 2022-07-12 20:31 变体精灵 阅读(766) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 如果希望跳过前几个元素,可以使用 skip 方法获取一个截取之后的新流,如果流的当前长度大于 n,则跳过前 n 个,如果当前流的长度小于或等于 n,则返回一个空流 Stream<T> skip(long n) 二、案例 public class StreamDemo { public 阅读全文
posted @ 2022-07-12 20:09 变体精灵 阅读(544) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 limit 方法可以对流中数据进行截取 Stream<T> limit(long maxSize) 该方法接收一个 long 类型参数,代表截取最大值,如果 maxSize 大于流中元素总数,则实际截取的是流中所有元素 二、案例 public class StreamDemo { pu 阅读全文
posted @ 2022-07-12 19:37 变体精灵 阅读(1156) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 filter 方法用于过滤流中数据,返回符合条件的数据结果 Stream<T> filter(Predicate<? super T> predicate); boolean test(T t); 该方法接收一个 Predicate 接口函数,该函数中有一个抽象方法 test(),返回 阅读全文
posted @ 2022-07-12 19:21 变体精灵 阅读(7256) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 Stream 流提供 count 方法来统计其中的元素个数 二、案例 @Slf4j public class StreamDemo { public static void main(String[] args) { List<Person> personList = Arrays.a 阅读全文
posted @ 2022-07-12 19:03 变体精灵 阅读(1253) 评论(0) 推荐(0) 编辑
摘要:一、方法概述 void forEach(Consumer<? super T> action) 该方法接收一个 Consumer 接口函数,会将每一个流元素交给该函数进行处理 二、案例 public class StreamDemo { public static void main(String[ 阅读全文
posted @ 2022-07-11 21:27 变体精灵 阅读(882) 评论(0) 推荐(0) 编辑
摘要:一、简介 如果一个接口中只有一个方法,那么该接口就称为函数型接口,对于函数型接口,我们会加上注解 @FunctionalInterface 进行校验,如果某一个接口中存在两个抽象方法,那么它就会报错. 例如 JDK 8 内置的四大函数型接口之一 Function @FunctionalInterfa 阅读全文
posted @ 2022-07-08 18:25 变体精灵 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一、代码 public class UnitTest { // 金额字符串格式化为千分符 public static String fmtMicrometer(String amount) { DecimalFormat df = null; if (amount.indexOf(".") > 0) 阅读全文
posted @ 2022-07-04 20:39 变体精灵 阅读(143) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示