java - 使用对象维护哈希图以避免重复的快速方法
问题描述
我实现了以下示例代码以减少创建新复杂对象的内存和时间复杂度。在这两种复杂性中,它都比初始复制方法工作得更快。我的实现如下:
public class ComplexObject{
//set of heavy maps and lists
public ComplexObject(int id, String param1, String param2){
//init set of maps - this costs higher process time
}
}
public class Test {
Map<String,ComplexObject> complexObjectMap= new HashMap<>();
public ComplexObject addObject(int id, String param1, String param2){
if(complexObjectMap.containsKey(id + param1 + param2)){
return complexObjectMap.get(id + param1 + param2);
}
else{
ComplexObject complexObject = new ComplexObject(id, param1, param2);
complexObjectMap.put(id+param1+param2,complexObject);
return complexObject;
}
}
}
这可以进一步优化吗?在这两种复杂性中。完全不同的方法也是可以接受的。
解决方案
推荐阅读
- r - 尝试在 R Studio 中按地区对数据进行分组并按日期汇总 COVID19 流行病
- r - 从 1 e+06 到 1 Mio 的 x 轴格式
- mt940 - 有谁知道将 Swift MT940 转换为 csv 的最佳方法是什么?
- php - Swift 邮件头
- node.js - 如何在节点js中解析req.body
- python - 从两个不同的节点获取两个输出并将它们作为一个列表馈送到另一个节点作为一个单一的输入
- azure - 在 azure 上为 https 配置 golang rest api 应用程序
- bash - 使用“ls”对文件名部分出现的次数进行排序和计数
- java - 清单是否