Java的9点之前,人们一度
Collections.emptyList(),
Collections.emptySet()和
Collections.emptyMap(),这是明确的,并
完全 致力于生产不可修改的空集合。那
List.of()等 。能否做到这一点还取决于他们API的内部一致性,而不是革命性的新功能。
但是你的主要问题似乎是
请帮助我了解一个空的不可变列表/集合/映射的实际用例。
这实际上是三个问题:
- 空集合的用例是什么?
空集合很有用,因为它们是现实数据和算法中情况的自然表示。例如,“到目前为止,哪些乘客已经办理登机手续?”
当没有。哪些任务正在等待发送?我可以无休止地继续下去。
- 不可修改集合的用例是什么?
可以传递对不可修改集合的引用,而不必担心该集合将被修改(无论如何通过该引用)。很好地注意,假设已正确记录了不可修改性,则共享该对象的 所有参与者
都可以依靠它而不进行更改。除其他事项外,这对于安全共享集合(和其他不可修改的对象)而不制作副本很重要。
- 这些用例的交集是什么?
空集合自然出现在现实世界的数据和算法中,因此,大多数不可修改集合的用例都包含空集合。
此外,您没有提出询问,但是可能会忽略,尽管您不能将对象添加到不可修改的空集合中,但是您可以将其完全替换为非空集合,或者在下次或类似情况下提供非空集合。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)