Java 传递集合以创建新集合

Java 传递集合以创建新集合,java,set,Java,Set,在传递集合以在java中创建新集合时,对新集合所做的任何修改也会修改原始集合。如何传递集合,以便对新集合所做的任何更改都不会影响原始集合 Set newSet = new HashSet(oldSet); 这是一个旧的副本集;在此之后对旧集合所做的任何更改都不会影响新集合。这将取决于集合的实现,但是如果您检查所有已知的实现类,在那些实现构造函数的类中,它表示构建一个新集合 您可以检查: : 构造一个新的集合,其中包含指定集合中的元素 收藏 : 构造一个新的树集,其中包含指定 集合,[…] :

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

Set newSet = new HashSet(oldSet);

这是一个旧的副本集;在此之后对旧集合所做的任何更改都不会影响新集合。

这将取决于
集合
的实现,但是如果您检查所有已知的实现类,在那些实现构造函数的类中,它表示构建一个新集合

您可以检查:

:

构造一个新的集合,其中包含指定集合中的元素 收藏

:

构造一个新的树集,其中包含指定 集合,[…]

:

构造一个新的链接哈希集,其元素与 指定的集合


等等。

以下是我想要的:

new HashSet<String>(Arrays.asList(new String[]{"one","two"}));
newhashset(Arrays.asList(新字符串[]{“一”,“二”}));

确保不要混淆“创建一个包含相同对象的新集合”和“创建一个包含所有对象副本的新集合”。“他们非常不同。”波希米亚人的回答完全正确。用我的答案,我只是想展示一下如何自己找到答案,这样你以后可以重复这个过程来解决类似的疑问。