Map rm=new HashMap(2)这个2是什么意思?

zhangyaobo1 2014-11-03 11:21:20
如题了,请问一下这个2干嘛的?有他没有他有啥不同?
...全文
3450 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wo258794 2014-11-17
  • 打赏
  • 举报
回复
建议楼主下个Java API帮助文档自己看,这种东西文档生写得很清楚。
杜显冲 2014-11-14
  • 打赏
  • 举报
回复
AceShot 2014-11-06
  • 打赏
  • 举报
回复
引用 9 楼 qq840727854 的回复:
加载因子越高 空间利用率提高了 但是查询时间 和添加时间增加 hashmap 是这样存的 先利用hashcode 找到需要存的地方 但是 存的地方肯定是有限的 就是hashMap分配到的空间 比如是 10 现在你 第一个元素来了 那么他会根据 你 hashcode%10 得到你 在 10个位置中该存到哪里 这个时候就有一个问题,就是,如果hashcode%10 找到存的地方 当你要存进去时候 你发现里面已经有另外一个对象了, 那么这时候就要调用 equals方法 进行比较,如果相同,就说明是一个相同的对象。就替换掉。 如果不同,那么就 形成散列桶, 就是2个对象一起, 不过有先后, 后进来的 在后面。 hashmap 查询对象,要的是效率,直接通过hashcode找到存放的地址,直接取出,只需一次。 但是像我们前面说的这种情况,是会让操作数增加的, 你找到了 hashcode 所对应的物理地址,发现里面有2个对象, 这时就不能确定那个是你要找的,那么就要通过equals和你传入的key进行比对,相同 则返回。 前面的讲述已经发现 当你空间只有仅仅为10的时候 是很容易造成,2个对象的hashcode 所对应的地址是一个位置的情况 这样就造成 2个 对象 会形成散列桶,使查询和插入的时间增加。 这时就有一个加载因子的参数,如果加载因子为0.75 ,如果你hashmap的 空间有 100 那么 当你插入了75个元素的时候 hashmap就需要扩容了,不然的话 会形成很长散列桶 , 对于查询和插入都会增加时间,因为 他要一个一个的equals。 但是你又不能让加载因子很小,0.01 这样是不合适的,因为 他会大大消耗你的 内存, 你一加入一个对象hashmap就扩容。 这时就存在着一个平衡,,jdk中默认是0.75 可以根据自己的实际情况进行调整 希望能帮助你
写的很认真,赞。不过有个细节需要纠正下,“那么这时候就要调用 equals方法 进行比较”之前由于||的短路性质会先比较hashcode是否相同(这就是为什么覆写equals方法时推荐重写hashcode方法,不然使用某些集合,如set时会出错)。
qq840727854 2014-11-06
  • 打赏
  • 举报
回复
加载因子越高 空间利用率提高了 但是查询时间 和添加时间增加 hashmap 是这样存的 先利用hashcode 找到需要存的地方 但是 存的地方肯定是有限的 就是hashMap分配到的空间 比如是 10 现在你 第一个元素来了 那么他会根据 你 hashcode%10 得到你 在 10个位置中该存到哪里 这个时候就有一个问题,就是,如果hashcode%10 找到存的地方 当你要存进去时候 你发现里面已经有另外一个对象了, 那么这时候就要调用 equals方法 进行比较,如果相同,就说明是一个相同的对象。就替换掉。 如果不同,那么就 形成散列桶, 就是2个对象一起, 不过有先后, 后进来的 在后面。 hashmap 查询对象,要的是效率,直接通过hashcode找到存放的地址,直接取出,只需一次。 但是像我们前面说的这种情况,是会让操作数增加的, 你找到了 hashcode 所对应的物理地址,发现里面有2个对象, 这时就不能确定那个是你要找的,那么就要通过equals和你传入的key进行比对,相同 则返回。 前面的讲述已经发现 当你空间只有仅仅为10的时候 是很容易造成,2个对象的hashcode 所对应的地址是一个位置的情况 这样就造成 2个 对象 会形成散列桶,使查询和插入的时间增加。 这时就有一个加载因子的参数,如果加载因子为0.75 ,如果你hashmap的 空间有 100 那么 当你插入了75个元素的时候 hashmap就需要扩容了,不然的话 会形成很长散列桶 , 对于查询和插入都会增加时间,因为 他要一个一个的equals。 但是你又不能让加载因子很小,0.01 这样是不合适的,因为 他会大大消耗你的 内存, 你一加入一个对象hashmap就扩容。 这时就存在着一个平衡,,jdk中默认是0.75 可以根据自己的实际情况进行调整 希望能帮助你
tony4geek 2014-11-06
  • 打赏
  • 举报
回复
看看api吧。
student-ai 2014-11-06
  • 打赏
  • 举报
回复
在线api:tools.oschina.net 参考
qq840727854 2014-11-06
  • 打赏
  • 举报
回复
引用 10 楼 sum_rain 的回复:
[quote=引用 9 楼 qq840727854 的回复:] 加载因子越高 空间利用率提高了 但是查询时间 和添加时间增加 hashmap 是这样存的 先利用hashcode 找到需要存的地方 但是 存的地方肯定是有限的 就是hashMap分配到的空间 比如是 10 现在你 第一个元素来了 那么他会根据 你 hashcode%10 得到你 在 10个位置中该存到哪里 这个时候就有一个问题,就是,如果hashcode%10 找到存的地方 当你要存进去时候 你发现里面已经有另外一个对象了, 那么这时候就要调用 equals方法 进行比较,如果相同,就说明是一个相同的对象。就替换掉。 如果不同,那么就 形成散列桶, 就是2个对象一起, 不过有先后, 后进来的 在后面。 hashmap 查询对象,要的是效率,直接通过hashcode找到存放的地址,直接取出,只需一次。 但是像我们前面说的这种情况,是会让操作数增加的, 你找到了 hashcode 所对应的物理地址,发现里面有2个对象, 这时就不能确定那个是你要找的,那么就要通过equals和你传入的key进行比对,相同 则返回。 前面的讲述已经发现 当你空间只有仅仅为10的时候 是很容易造成,2个对象的hashcode 所对应的地址是一个位置的情况 这样就造成 2个 对象 会形成散列桶,使查询和插入的时间增加。 这时就有一个加载因子的参数,如果加载因子为0.75 ,如果你hashmap的 空间有 100 那么 当你插入了75个元素的时候 hashmap就需要扩容了,不然的话 会形成很长散列桶 , 对于查询和插入都会增加时间,因为 他要一个一个的equals。 但是你又不能让加载因子很小,0.01 这样是不合适的,因为 他会大大消耗你的 内存, 你一加入一个对象hashmap就扩容。 这时就存在着一个平衡,,jdk中默认是0.75 可以根据自己的实际情况进行调整 希望能帮助你
写的很认真,赞。不过有个细节需要纠正下,“那么这时候就要调用 equals方法 进行比较”之前由于||的短路性质会先比较hashcode是否相同(这就是为什么覆写equals方法时推荐重写hashcode方法,不然使用某些集合,如set时会出错)。[/quote] 对的 因为 前面有提到 是先通过hashcode 找到物理内存地址 所以 后面没有提 看的非常认真
乖摸摸头 2014-11-05
  • 打赏
  • 举报
回复
引用 2 楼 u010175788 的回复:
public static Map<String,ERPOrgCorp> toCorpMap(List<ERPOrgCorp> list,boolean needSeal,Object... isDisplay){这个省略号是怎么回事?我很菜,是大菜鸟
java的可变参数,从JDK1.5开始有的,你可以传0至多个参数
S117 2014-11-05
  • 打赏
  • 举报
回复
HashMap(int initialCapacity) 构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。
晓风吹雾 2014-11-05
  • 打赏
  • 举报
回复

    /**
     * Constructs an empty <tt>HashMap</tt> with the specified initial
     * capacity and the default load factor (0.75).
     *
     * @param  initialCapacity the initial capacity.
     * @throws IllegalArgumentException if the initial capacity is negative.
     */
    public HashMap(int initialCapacity) {
        this(initialCapacity, DEFAULT_LOAD_FACTOR);
    }
initialCapacity the initial capacity. 里面Entry数组的初始空间开辟大小
姜小白- 2014-11-03
  • 打赏
  • 举报
回复
姜小白- 2014-11-03
  • 打赏
  • 举报
回复
Object... isDisplay 可变参数,参数数量不确定时,可以使用Object... isDisplay 来表示。 楼主搜一下,java可变参数
zhangyaobo1 2014-11-03
  • 打赏
  • 举报
回复
public static Map<String,ERPOrgCorp> toCorpMap(List<ERPOrgCorp> list,boolean needSeal,Object... isDisplay){这个省略号是怎么回事?我很菜,是大菜鸟
姜小白- 2014-11-03
  • 打赏
  • 举报
回复
HashMap public HashMap(int initialCapacity)构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。 参数: initialCapacity - 初始容量。 抛出: IllegalArgumentException - 如果初始容量为负。
大气污染是影响公众健康与生态环境的重要问题,精准的空气质量时空预测与污染源贡献度量化是精准治污的关键支撑。针对现有研究多源融合不充分、时空关联刻画不足、预测与源解析割裂三方面缺陷,本文设计实现了城市空气质量时空预测与污染源贡献度分析系统,融合监测、气象、工业排放与交通四类数据,构建基于时空注意力的LSTM(STAM-LSTM)预测模型与基于正定矩阵因子分解(PMF)的源解析模型,形成数据融合-特征工程-预测-源解析-可视化闭环。 系统实现四类数据时空对齐与融合,构建时序与空间邻域特征,以普通克里金插值生成1km网格浓度场;STAM-LSTM引入时空注意力自适应学习站点间污染传输时变权重,以72小时输入预测未来24小时逐小时PM2.5浓度;PMF识别交通、工业、燃煤、扬尘与二次生成五个源因子,量化各源全年贡献度并分析时空演变。 实验表明:STAM-LSTM预测RMSE 24.6、MAE 17.8、R² 0.88,相对LSTM基线(30.2)提升18.5%;普通克里金插值误差8.9,优于反距离加权(11.4);源解析显示交通源28.4%、工业源23.1%、燃煤源19.6%为主要贡献源,冬季燃煤源升至27.3%、早高峰交通源达34.8%,下风向工业源贡献高出上风向8~12个百分点;减排情景显示交通源减排20%可使年均PM2.5下降5.7%,与源贡献度排序一致。 系统按五模块14组件实现,功能测试16项用例全部通过,为大气污染预警、源管控与减排政策制定提供了决策依据。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论 第3章 系统需求分析 第4章 系统总体设计 第5章 系统详细设计与实现 第6章 系统测试与分析 第7章 总结与展望 参考文献 附件-实现指南
基于iTransformer-BiGRU-KAN多模型融合的滚动轴承剩余寿命预测研究(Python代码实现)内容概要:本文提出了一种基于iTransformer-BiGRU-KAN多模型融合的滚动轴承剩余寿命预测方法,旨在通过结合多种先进深度学习模型的优势,提升在复杂工况下的预测精度与鲁棒性。该方法利用iTransformer捕捉长期时间序列中的全局依赖关系,通过BiGRU模型提取双向时序特征,最后引入KAN(Kernel Attention Network)增强非线性映射与关键特征的自适应加权能力,实现对轴承退化过程的精准建模。文中详细介绍了模型架构设计、训练流程及在公开数据集上的实验验证,结果表明该融合模型相比单一模型在预测精度和稳定性方面均有显著提升。; 适合人群:具备一定机器学习与深度学习基础,从事设备故障诊断、工业大数据分析或智能运维相关领域的研究人员及工程技术人员,尤其适合研究生及以上学历或有相关项目经验的专业人员。; 使用场景及目标:①应用于工业设备状态监测与预测性维护系统中,实现对滚动轴承等关键部件剩余寿命的精准预测;②为复杂时间序列回归任务提供多模型融合的设计思路与技术参考;③推动深度学习在智能制造与工业物联网领域的落地应用。; 阅读建议:建议读者结合Python代码实现部分,深入理解各子模型的接口设计与融合逻辑,重点关注特征融合机制与注意力权重的可视化分析,以便在实际项目中灵活调整与优化模型结构。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧