为什么在Set/List/Map中包装元素的方法在名称中包含'singleton'?(java.util.Collections)

gst*_*low 1 java collections singleton

我知道如果我有元素,我想只使用eith元素获取List/Set/Map我应该调用:

Collections.singleton()/ Collections.singletonList()/Collections.singletonMap()

我不明白为什么所有这些方法都包含singleton在他们的名字中?

我曾经假设它可能会为同一个对象返回相同的Collection,但是这个测试显示它是假的

        Object o = new Object();
        System.out.println(Collections.singleton(o) == Collections.singleton(o));
Run Code Online (Sandbox Code Playgroud)

输出:false

对我来说,单例模式禁止创建多个具体类型的元素,并为访问此对象提供了统一网关.

请澄清.

Jon*_*eet 6

这是"单身人士"这个词的不同含义 - 它不是"单身人士模式",而是"从单个项目创建一个集合",这就是全部.

例如,来自define:singleton:

正在考虑的那种人或事物.

可以这样想:"单身"是"一件事","对"是"两件事".因此以Collections.pair(T t1, T t2)同样的方式进行并不完全不自然.