------【Java8】
文章平均质量分 56
_夜渐凉
_与其临渊羡鱼,不如退而结网
展开
-
Java8 获取某月的月首和月末时间
获取本月月首月末 public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); LocalDateTime startDate = now.withDayOfMonth(1).truncatedTo(ChronoUnit.DAYS); L...原创 2019-12-13 09:29:06 · 4384 阅读 · 1 评论 -
记一次java8 parallelStream使用不当引发的血案
使用parallelStream().forEach(),是并行遍历循环,相当于是使用了多线程处理,这样可以在一定程度上提高执行效率。而程序在运行过程中具体会使用多少个线程进行处理,系统会根据运行服务器的资源占用情况自动进行分配。Java8的stream接口极大地减少了for循环写法的复杂性,stream提供了map/reduce/collect等一系列聚合接口,还支持并发操作:paralle...转载 2019-08-26 11:35:31 · 2627 阅读 · 0 评论 -
Optional的orElse和orElseGet区别
先试下返回的Optional类有值的情况:public static void main(String[] args) { List<Integer> list = Arrays.asList(10,20,30); //通过reduce方法得到一个Optional类 int a = list.stream().reduce(In...转载 2019-08-16 11:31:57 · 663 阅读 · 0 评论 -
Java Stream - 如何使用Comparator.naturalOrder()
import java.util.Arrays;import java.util.Comparator;import java.util.List;public class Test { public static void main(String... args) { List<Integer> numbers1 = Arrays.asList(3...原创 2019-06-26 16:02:25 · 11248 阅读 · 1 评论 -
Java8中iterator的forEachRemaining中remove可能抛异常
Java8的官方文档中,对于iterator的forEachRemaining的用法介绍如下:defaultvoidforEachRemaining(Consumer<? super E>action)Performs the given action for each remaining element until all elements have been proc...转载 2019-06-14 13:14:21 · 1286 阅读 · 0 评论 -
Java.time.ZonedDateTime带时区的日期与时间信息的类
ZonedDateTimeZonedDateTime类是Java 8中日期时间功能里,用于表示带时区的日期与时间信息的类。可以用于表示一个真实事件的开始时间,如某火箭升空时间等等。ZonedDateTime 类的值是不可变的,所以其计算方法会返回一个新的ZonedDateTime 实例。1,创建一个ZonedDateTime实例有多种方式可以新建ZonedDateTime实例。...原创 2019-05-16 15:57:09 · 15064 阅读 · 1 评论 -
如何在Java 8中愉快地处理日期和时间(LocalDate,LocalTime)
Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了。java.util.Date月份从0开始,一月是0,十二月是11,变态吧!java.time.LocalDate月份和星期都改成了enum,就不可能再用错了。java.util.Date和SimpleDateFormatter都不是线...转载 2018-12-26 11:01:35 · 3817 阅读 · 1 评论 -
Java8 List去掉重复对象——contains方法、Comparator比较器
一、去除List中重复的Stringpublic List<String> removeStringListDupli(List<String> stringList) { Set<String> set = new LinkedHashSet<>(); set.addAll(stringList); stringLi...转载 2018-11-05 17:24:45 · 7676 阅读 · 1 评论 -
Java 8 Stream.distinct() 列表去重示例
Java 8 Stream.distinct() 示例在这篇文章里,我们将提供Java8 Stream distinct()示例。distinct()返回由该流的不同元素组成的流。distinct()是Stream接口的方法。distinct()使用hashCode()和equals()方法来获取不同的元素。因此,我们的类必须实现hashCode()和equals()方法。...转载 2018-11-05 16:48:47 · 15194 阅读 · 1 评论 -
Java 8 新特性 Stream
Java 8 新特性 StreamJava 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流...原创 2018-09-30 13:54:00 · 280 阅读 · 1 评论 -
Java8Stream map和flatmap的区别
map和flatmap的区别map只是一维 1对1 的映射而flatmap可以将一个2维的集合映射成一个一维,相当于他映射的深度比map深了一层 ,所以名称上就把map加了个flat 叫flatmapmapmap 方法用于映射每个元素到对应的结果,以下代码片段使用 map 输出了元素对应的平方数:List<Integer> numbers = Array...原创 2018-09-30 13:47:18 · 1536 阅读 · 1 评论 -
Java8中 stream,filter 等功能代替for循环(及)isPresent( ) 和 ifPresent() 简单应用
直接上代码,比较实在。对象Apublic Class A{ private Long id; private String userName; ....省略get和set方法 }在List<A>中,查找 userName 为 "小明" 的对象 A。在java8中,我们可以这么玩1,查找集合中符合条件的第一个对象,如果可以明确条...原创 2018-09-28 16:30:20 · 97817 阅读 · 6 评论