作者:我爱你可你不懂_516 | 来源:互联网 | 2023-05-17 10:58
我有一个hashmap
包含大约一千个条目.现在我必须以不能在课外修改的方式公开它.所以我写得像
public static Map getResponseCodeSource()
{
return Collections.unmodifiableMap(codeMsgMap);
}
非常频繁地调用此方法.我的问题是
1.这是否会导致性能问题?
2.迭代Map的方法(unmodifiableMap)是否会以O(常量)复杂度执行其活动?
1> Sergey Pauk..:
这是一个非常薄的实现:
public static Map unmodifiableMap(Map extends K, ? extends V> m) {
return new UnmodifiableMap<>(m);
}
和构造函数代码:
UnmodifiableMap(Map extends K, ? extends V> m) {
if (m==null)
throw new NullPointerException();
this.m = m;
}
所以你看到复杂性是O(1).