JavaSE8-Stream,LocalDateTime

来源:互联网 发布:ubuntu增加硬盘空间 编辑:程序博客网 时间:2024/06/05 10:03

Java8引入了Stream这个类型之后,极大简化了集合类的一些操作,对于数据过滤提取,转换,以及相关操作比较有意义,值得一提的是如排序等不再依赖Collections这个工具类,List等对象实例都增加了Sort方法,更加语义化了。

package com.ninetowns.trade.javase8;import java.math.BigInteger;import java.util.ArrayList;import java.util.Collection;import java.util.Map;import java.util.stream.Collectors;import java.util.stream.Stream;public class Streams {private static final Stream<BigInteger> stream=Stream.iterate(BigInteger.ZERO,n->n.add(BigInteger.ONE));@SuppressWarnings({ "unchecked", "rawtypes" })public static void main(String[] args) {// TODO Auto-generated method stubstream.filter(x->x.intValue()<30).map(y->Math.sqrt(y.doubleValue())).forEach(System.out::println);Collection list=new ArrayList();list.add("as");list.add("re");list.add("gf");list.stream().collect(Collectors.toMap(l->l.hashCode(),y->y));}}



此外引入了本地化日期或时间类,以及TemporalAdjusters根据指定规则获取日期的API,操作更简洁,同时丰富了以ISO开头的日期格式化类型。

package com.ninetowns.trade.javase8;import java.time.DayOfWeek;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.temporal.TemporalAdjuster;import java.time.temporal.TemporalAdjusters;public class LocalDateDemo {public static void main(String[] args) {LocalDate date=LocalDate.now();System.out.println(date.toString());LocalTime time=LocalTime.now();System.out.println(time.toString());System.out.println(LocalDateTime.now().toString());/**First Tusday*/System.out.println(LocalDate.of(2016, 1, 1).with(TemporalAdjusters.nextOrSame(DayOfWeek.THURSDAY)));}}


0 0
原创粉丝点击