随笔分类 -  java8

摘要:前言 Collections#sort 追踪代码进去看,会调用到Arrays.sort,看到这里时,你肯定会想,这不是很简单,Arrays.sort在元素较少时使用插入排序,较多时使用快速排序,更多时使用归并排序,不过我要告诉你,这句话有一个前提,那就是针对基本类型排序时,是按照这个顺序,而 Col 阅读全文
posted @ 2020-05-24 22:24 刘皓lh 阅读(712) 评论(0) 推荐(0)
摘要:前言 java8新特性目前使用非常广泛,其中Stream更是最常用的特性,这篇文章将介绍Stream的原理,如果你现在还不怎么会用的话可以看一下菜鸟教 https://www.runoob.com/java/java8-streams.html,或者我的博客https://www.runoob.co 阅读全文
posted @ 2019-09-15 14:41 刘皓lh 阅读(361) 评论(0) 推荐(0)
摘要:流的个人理解: 怎样获得流: 怎样处理流: 中间操作和终端操作介绍: 中间操作和终端操作的使用: 流的个人理解: 怎样获得流: 怎样处理流: 中间操作和终端操作介绍: 中间操作和终端操作的使用: 中间操作和终端操作介绍: 中间操作和终端操作的使用: 流的个人理解: Stream也就是流,他和IO流不 阅读全文
posted @ 2018-07-29 15:34 刘皓lh 阅读(441) 评论(0) 推荐(0)
摘要:突然间又来了一个新需求,比如,我想要所有人的名字,不要其他信息。 package com.qunar.hotel.java8; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists 阅读全文
posted @ 2018-07-28 20:02 刘皓lh 阅读(578) 评论(0) 推荐(0)
摘要:java8之前,已经有一些函数式接口了,比如comparator,Thread,Runable,看到这里,可能已经忘了什么是函数式接口了。 函数式接口:只有一个抽象方法的接口叫做函数式接口。 函数式接口的存在使得lambda表达式,方法引用,只有一个方法,编译器非常方便对类型做判断,既然函数式接口这 阅读全文
posted @ 2018-07-28 20:00 刘皓lh 阅读(229) 评论(0) 推荐(0)
摘要:我们经常操作List,例如现在有一个功能要求在所有人中筛选出年龄在20岁以上的人。 public class MyTest { private final List<Person> allPersonList; { Person p1 = new Person("风清扬", 42); Person 阅读全文
posted @ 2018-07-28 20:00 刘皓lh 阅读(1333) 评论(3) 推荐(0)
摘要:首先定义一个接口 public interface Calculation<T> { public T colculate(T t1, T t2); } public interface Calculation<T> { public T colculate(T t1, T t2); } publi 阅读全文
posted @ 2018-07-28 19:59 刘皓lh 阅读(257) 评论(0) 推荐(0)
摘要:java8之前,java只允许传基础数值或者对象的引用,而现在java允许传代码了。 接下来还是以Comparator来举例。 //匿名内部类 @Test public void java8Test() { Person p1 = new Person(22); Person p2 = new Pe 阅读全文
posted @ 2018-07-28 19:58 刘皓lh 阅读(259) 评论(0) 推荐(0)
摘要:很多博客都拿Comparator,我也贴一下吧。 java8以前的匿名内部类用来排序。 显而易见,java8只用了一行代码实现排序,我这里并没有用传统博客里写的类似(o1,o2)->o1-o2这种代码,因为我认为目前我写的这个版本是能非常直观的看出差异的。 代码读起来的感觉就像是,对List排序,通 阅读全文
posted @ 2018-07-28 19:57 刘皓lh 阅读(281) 评论(0) 推荐(0)