《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.13 基本类型流

简介: 本节书摘来华章计算机《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一书中的第1章 ,第1.13节,[美] 凯S.霍斯特曼(Cay S. Horstmann) 著陈昊鹏 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.13 基本类型流

到目前为止,我们都是将整数收集到Stream中,尽管很明显,将每个整数都包装到包装器对象中是很低效的。对其他基本类型来说,情况也是一样,这些基本类型是:double、f?loat、long、short、char、byte和boolean。流库中具有专门的类型IntStream、LongStream和DoubleStream,用来直接存储基本类型值,而无需使用包装器。如果想要存储short、char、byte和boolean,可以使用IntStream,而对于f?loat,可以使用DoubleStream。
为了创建IntStream,需要调用IntStream.of和Arrays.stream方法:
image

与对象流一样,我们还可以使用静态的generate和iterate方法。此外,IntStream和LongStream有静态方法range和rangeClosed,可以生成步长为1的整数范围:
image

CharSequence接口拥有codePoints和chars方法,可以生成由字符的Unicode码或由UTF-16编码机制的码元构成的IntStream。(请参见第2章以了解其复杂的细节。)
image

当你有一个对象流时,可以用mapToInt、mapToLong和mapToDouble将其转换为基本类型流。例如,如果你有一个字符串流,并想将其长度处理为整数,那么就可以在IntStream中实现此目的:
image

为了将基本类型流转换为对象流,需要使用boxed方法:
image

image

注意:Random类具有ints、longs和doubles方法,它们会返回由随机数构成的基本类型流。
AI 代码解读

程序清单1-7给出了基本类型流的API的示例。
程序清单1-7 streams/PrimitiveTypeStreams.java
image
image

java.util.stream.IntStream 8
image

java.util.stream.DoubleStream 8
image

image
image

目录
打赏
0
0
0
0
1408
分享
相关文章
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【10月更文挑战第17天】Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
127 2
Java网络编程进阶:Socket通信的高级特性与应用
【6月更文挑战第21天】Java Socket通信是分布式应用的基础,涉及高级特性如多路复用(Selector)和零拷贝,提升效率与响应速度。结合NIO和AIO,适用于高并发场景如游戏服务器和实时数据分析。示例展示了基于NIO的多路复用服务器实现。随着技术发展,WebSockets、HTTP/2、QUIC等新协议正变革网络通信,掌握Socket高级特性为应对未来挑战准备。
77 1
|
10月前
|
Java的八种基本类型、隐式转换、强制转换以及特殊转换
Java的八种基本类型、隐式转换、强制转换以及特殊转换
你必须掌握的 21 个 Java 核心技术!,千峰Java
你必须掌握的 21 个 Java 核心技术!,千峰Java
|
6月前
|
优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。
【10月更文挑战第19天】本文介绍了如何优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。内容包括Map的初始化、使用Stream API处理Map、利用merge方法、使用ComputeIfAbsent和ComputeIfPresent,以及Map的默认方法。这些技巧不仅提高了代码的可读性和维护性,还提升了开发效率。
210 3
Java Map新玩法:深入探讨HashMap和TreeMap的高级特性
【10月更文挑战第19天】Java Map新玩法:深入探讨HashMap和TreeMap的高级特性,包括初始容量与加载因子的优化、高效的遍历方法、线程安全性处理以及TreeMap的自然排序、自定义排序、范围查询等功能,助你提升代码性能与灵活性。
50 2
|
6月前
|
【一步一步了解Java系列】:探索Java基本类型转换的秘密
【一步一步了解Java系列】:探索Java基本类型转换的秘密
58 3
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
124 3
【一步一步了解Java系列】:探索Java基本类型与C语言的区别
【一步一步了解Java系列】:探索Java基本类型与C语言的区别
86 2
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
68 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等