【发布时间】:2014-12-01 21:07:43
【问题描述】:
我想更改未知类型集合的值。我找到了java.util.Collections.replaceAll,但这仅适用于列表。我帮助自己创建了一个新的集合并添加了更改的元素。
if (o instanceof Collection) {
Collection<Object> newCollection = (Collection<Object>) o.getClass().newInstance();
for (Iterator<Object> it = ((Collection<Object>)o).iterator(); it.hasNext(); ) {
newCollection.add(doSomethingWith(it.next()));
}
return newCollection;
}
但我喜欢返回与结果相同的列表。有什么想法吗?
【问题讨论】:
-
这个怎么样:
Collections.replaceAll(new ArrayList(yourCollection), old, new);。如果要返回它,只需在替换之前将新列表保存到变量中即可。
标签: java collections