我知道如果我有元素,并且我想用这个元素获得List/Set/Map,我可以调用:
Collections.singleton() / Collections.singletonList() / Collections.singletonMap()
在这种情况下,我得到了不可变的集合(我不能向集合添加/删除元素)。
有没有类似的方法来获得可变集合?
发布于 2014-08-11 16:46:25
LinkedList与ArrayList)或其他参数(如初始大小)。单例集合只是非常精简的适配器,用于将单个对象传递给需要集合的API。如果它们是可变的,那就完全违背了这一点。
发布于 2014-08-11 17:18:04
对于标准库,您可以使用:
new ArrayList<...>(Arrays.asList(...)))
new HashSet<...>(Arrays.asList(...)))它们可以接受任意数量的元素作为参数。像guava这样的库有稍微更方便的方法:
Sets.newHashSet(...)
Lists.newArrayList(...)
Maps.newHashMap(ImmutableMap.of(...))https://stackoverflow.com/questions/25239109
复制相似问题