我知道我是否有元素,并且想要使用此元素来获取List/Set/Map,我可以调用:
Collections.singleton()/Collections.singletonList()/Collections.singletonMap()
在这种情况下,我得到了不可变的集合(我无法向集合中添加/删除元素)。

是否有类似物以获得可变的收集?

最佳答案

  • 此类API不会退出,因为您始终可以使用采用集合(new ArrayList(Collections.singleton(whatever)))的构造函数
  • 如果存在,将是有害的。没有理智的API允许您选择新集合的实现(例如LinkedListArrayList)或其他参数(例如初始大小)。

  • Singleton集合只是非常精简的适配器,用于将单个对象传递给需要集合的API。使它们可变是完全可以克服的。

    关于java - 是否有模拟Collections.singleton()/Collections.singletonList()/Collections.singletonMap()获得可变集合?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25239109/

    10-12 03:09