java - “空”集合的目的是什么?
问题描述
我在 Collections 类中找到了 emptyEnumeration()、emptyIterator()、emptyList() 等方法。我搜索了示例和目的,但找不到合适的。
如果有人可以用项目可用性示例进行解释,那将是一个很大的帮助,我们需要创建 emptyList() 并且使用它也比在new ArrayList<>()
不添加任何元素的情况下创建 a 更好。
解决方案
它们实际上返回一个强制转换的单个实例,因此您不会在每次调用时在堆上创建新对象emptyList()
。所以它更快并且节省内存和GC。
它是一个初始化器,实现内部使用它List
来决定它们是否真的需要分配空间(甚至添加元素),或者如果在运行时不添加任何元素,则保持列表不变(因为它有时会发生,比你想象的更频繁)。
这些对象是不可变的,因此您可以在任何地方安全地重用同一个实例,而无需进行通常用于确保对象状态完整性的同步。
推荐阅读
- c# - 什么是 asp.net Web 表单中的“__VIEWSTATE_KEY”隐藏输入字段以及它的用途
- unity3d - unity 3d 反向浮点值
- mysql - 获取所有月份的列表和当月订购的产品数量,并且没有订单的月份应该有'0' - mysql
- python-3.x - Python/Pandas:如何检测趋势是否突然增加“X”量
- android - 哪个android api可以替代GMSGeometryIsLocationOnPathTolerance ios API?
- java - 为什么当通过 API 网关调用时,Java 中的这个 AWS Lambda 代码会返回“内部服务器错误”?
- javascript - 如何检查嵌套数组是否为空?
- android - 从 Firebase 问题中删除 android 应用
- reactjs - ReactJS:在上传之前调整图像大小
- vba - VBA wordapp.document.open 和 selection.WholeStory