gpt4 book ai didi

java - 最佳实践 : how to return keyset of a map from a method in java

转载 作者:行者123 更新时间:2023-12-01 23:42:25 25 4
gpt4 key购买 nike

我的函数返回 HashMap 成员的键集。

来自the JavaDoc :

The set is backed by the map, so changes to the map are reflected in the set, and vice-versa.

我想避免这种行为。

我想返回一个不可修改的集合,也许是该集合的副本。

我不希望对集合或 map 的更改相互反射(reflect)。

是否有任何最佳实践来处理这种情况?

最佳答案

就我个人而言,我会选择 Google 的 Guava - 特别是对于我想返回一个不可修改的集合,也许是该集合的副本。 - 如果 map 增长,ImmutableSet 不会表现出增长:

ImmutableSet.copyOf(map.keySet());

或者,如果您想使用标准 Java API - 请注意,生成的 Set 将随着您的 Map 的增长而增长:

Collections.unmodifyingSet(map.keySet());

考虑到您的要求,使用上述任一方法都被认为是良好的做法。

关于java - 最佳实践 : how to return keyset of a map from a method in java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17712786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com