![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java8
Java 8可谓Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简洁、表达力更强,并且在很多情况下能够利用并行硬件的代码。本章节将会深入介绍Java 8新特性,掌握Java 8新增特性并能灵活运用在项目中。
发了个版
认清真实的自己,积累更多的知识
展开
-
Java8使用Lambda将一个List均分成指定n个List
public class Test { /** * 计算切分次数 */ private static Integer countStep(Integer size, int input) { return (size + input - 1) / input; } /** * @param list 需要分隔的 集合 * @param input 指定分隔size * @return */原创 2020-09-11 10:20:22 · 3428 阅读 · 2 评论 -
joda-Time,JAVA8时间API 示例解析
joda:网址原创 2020-06-16 21:22:09 · 240 阅读 · 0 评论 -
lambda表达式:终止操作执行流程重要方法分析 PipelineHelper源码解析
内部类和lambda表达式之间的关系示例结论: lambda表达式虽然是匿名内部类的替代品其实两者有本质区别。匿名内部类: 在类里面开辟新的作用域与外层作用域不相同lambda : 在类里面没有开辟新的作用域与外层作用域相同/** - 内部类和lambda表达式之间的关系 - <p> - 结论: lambda表达式虽然是匿名内部类的替代品 - 其实两者有本质区别。 - 匿名内部类: 在类里面开辟新的作用域与外层作用域不相同 - lambda : 在类里面没有开辟原创 2020-06-13 21:58:18 · 1059 阅读 · 0 评论 -
lambda表达式:Collection创建流,Stream,Spliterator,ReferencePipeline,AbstractPipeline源码分析
AutoCloseabledoc一个对象,它可以保存资源(如文件或套接字句柄)直到它被关闭。当退出已在资源规范头中声明对象的try with resources块时,将自动调用自动关闭对象的close()方法。这种结构确保了及时发布,避免了资源耗尽异常和可能发生的错误。实例public class AutoCloseableTest implements AutoCloseable { @Override public void close() throws Exception原创 2020-06-06 21:01:18 · 765 阅读 · 0 评论 -
lambda表达式:Collectors源码解析
Collectors 源码解析对于Collectors静态工厂类来说,其实现一共分为两种情况:通过内置CollectorImpl来实现通过reducing方法来实现,reducing方法本身又是通过CollectorImpl来实现的mapping /* 将流中数据执行mapper映射,映射的数据存到传过来的收集器当中 Set<String> collect = list.stream() .collect(Collectors.mapping(x -> x +原创 2020-05-31 17:53:54 · 776 阅读 · 0 评论 -
lambda表达式:Comparator,自定义收集器Collector
Comparator /** 返回一个比较器,该比较器强制此比较器的相反顺序(取反) */ default Comparator<T> reversed() { return Collections.reverseOrder(this); } /* 接受从类型T中提取可比较排序键的函数,并返回按该排序键进行比较的 (通过传过来的行为进行排序)thenComparingInt这种类似 只是统一类型避免类型转换 */原创 2020-05-28 11:59:00 · 665 阅读 · 0 评论 -
lambda表达式:Collector解析,方法使用
Collector(重要)collect:收集器Collector:收集器的方法Collector:是一个接口,一种可变的汇聚操作,它将输入元素累积到可变结果容器中。在处理完所有输入元素后,可以选择将累积的结果转换为最终形式(这是一种可选操作),支持串行,并行操作Collectors本身提供了关于Collector的常见汇聚实现,Collectors本身实际上是一个工厂为了确保串行与并行操作结果的的等价性,Collector函数需要满足两个条件:identity(同一性)与associativi原创 2020-05-22 18:21:32 · 1362 阅读 · 0 评论 -
lambda表达式:Stream 解析,内部迭代和外部迭代解析
Stream 流(重要)流由三部分构成源(要操作的数据)零个或多个中间操作(每次操作都会产生一个新的流)终止操作(得到结果)流操作的分类:惰性求值及早求值steam.xxx().yyy().zzz().sum();xxx().yyy().zzz() 就叫做惰性操作如果没有终止操作将不会执行,也叫做中间操作.sum()就叫做及早求值,直接把值求出来 也叫终止操作流的三种创建方法/** * 流的三种创建方式 */public class StreamTest {原创 2020-05-18 11:39:31 · 1080 阅读 · 0 评论 -
lambda表达式:Optional类源码解析,方法引用详解,默认方法详解
Optional(重要)解决NPE Nullpointerexceptiondoc一个容器对象可能包含也可能不包含非空值。如果容器存在值,isPresent()将返回true,get()将返回该值。提供了依赖于是否存在包含值的其他方法,例如orElse()(如果值不存在,则返回默认值)和ifpresent()(如果值存在,则执行代码块)。这是一个基于值的类;对可选实例使用标识敏感操作(包括引用相等(==)、标识哈希代码或同步)可能会产生不可预知的结果,应避免基于值的类某些类(例如java原创 2020-05-15 15:23:22 · 727 阅读 · 0 评论 -
lambda表达式:Java.util.function包下Bifunction,Predicate,Supplier,BinaryOperator函数式接口解析
BiFunction引申 BiFunction 类似于Function 这里西药传入两个行为参数例7BiFunction与Function默认方法的使用public class FunctionTest2 { public static void main(String[] args) { FunctionTest2 test = new FunctionTest2(); System.out.println(test.compose(10, x ->原创 2020-05-14 09:14:04 · 600 阅读 · 0 评论 -
lambda表达式:JAVA8 函数式接口与Lambda表达式初步
public class Test1 { public static void main(String[] args) { List<Integer> list = Arrays.asList(1, 3, 8); /* 1. @FunctionalInterface 凡是一个类加上该注解 都是函数式接口 请注意,加了改接口可以使用 lambda表达式、方法引用或构造函数引用。 2.满足以..原创 2020-05-12 12:00:32 · 963 阅读 · 4 评论