主题:原始数值流
一、需求
- 基于拆装箱的成本考虑
- 提供特定的数值计算API,简化使用。
二、种类
- IntStream
- LongStream
- DoubleStream
三、转化手段
- Stream<T> 使用mapToInt,mapToLong,mapToDouble
- 原始数值流,使用boxed,mapToObject
三、demo:
int maxLen= Arrays.asList("abc","d","cdef","xyidfd","ab","")
.stream()
.mapToInt(String::length)
.max()
.getAsInt();
一个转化的例子
Arrays.asList(2,3,1)
.stream()//Stream<Integer>
.mapToInt(Integer::valueOf)//IntStream
.boxed()//重新转化为Stream<Integer>
.mapToLong(i->Long.valueOf(Integer.valueOf(i)))//LongStream
.mapToObj(Date::new)//Stream<Date>
.forEach(s-> System.out.println(s));