Collections.singleton的实现作为静态工厂方法

时间:2016-11-15 22:37:07

标签: java collections

关于收集的Java教程,声明:

  

Collections.singleton是一个静态工厂方法,它返回仅包含指定元素的不可变Set。

为什么Collections.singleton需要返回不可变的?

1 个答案:

答案 0 :(得分:2)

我认为你的问题是'为什么Collections.singleton方法(列表,集合和地图中有三个)用于返回不可变集合?'

在这种情况下,单例只是一个带有一个元素的集合。因为集合只有一个对象(即单例),所以集合有意义是不可变的:方法的客户端不应该从集合中添加或删除,因为这会破坏合同以存储单个对象