2

在传递一个集合以在 java 中创建一个新集合时,对新集合所做的任何修改也会修改原始集合。如何传递集合以便对新集合所做的任何更改都不会影响原始集合?

4

3 回答 3

6
Set newSet = new HashSet(oldSet);

这会复制旧集;在此之后对旧集所做的任何更改都不会影响新集。

于 2012-05-04T06:05:24.713 回答
1

这将取决于 的实现Set,但如果您检查Set API,所有已知的实现类,在那些实现该构造函数的地方,它会说Constructs a new Set。

您可以检查它:

哈希集

构造一个包含指定集合中元素的新集合。

树集

构造一个包含指定集合中元素的新树集,[...]

链接哈希集

使用与指定集合相同的元素构造一个新的链接哈希集。

等等

于 2012-05-04T06:14:14.783 回答
0

这就是我一直在寻找的:

new HashSet<String>(Arrays.asList(new String[]{"one","two"}));
于 2015-03-26T13:21:29.170 回答