Java 1.7 HashMap整数键
我正在使用一个Java 1.7 HashMap整数键,java,collections,hashmap,integer,key,Java,Collections,Hashmap,Integer,Key,我正在使用一个HashMap集合来存储几个值对的列表 使用整数作为密钥安全吗?put和get方法的行为是相同的?是的,它是安全的Integer只是int的包装类。 我从自己的经验中知道这一点。以这种方式创建了验证码功能。(用户请求一个随机整数。my prog创建一个captcha pic,并将答案[value]和随机整数id[key]保存在hashmap中。顺便说一句,如果要创建“缓存”,请使用java的LinkedHashMap。它有一个受保护的布尔方法,名为“RemoveeLDestry(M
HashMap
集合来存储几个值对的列表
使用整数作为密钥安全吗?put和get方法的行为是相同的?是的,它是安全的
Integer
只是int
的包装类。
我从自己的经验中知道这一点。以这种方式创建了验证码功能。(用户请求一个随机整数。my prog创建一个captcha pic,并将答案[value]和随机整数id[key]保存在hashmap中。顺便说一句,如果要创建“缓存”,请使用java的
LinkedHashMap
。它有一个受保护的布尔方法,名为“RemoveeLDestry(Map.Entry eldest)
”在put事件期间调用。如果使用“return size()>MAX_size;
”覆盖它,则如果提供的条件返回true
,它将删除最早的条目(或基于最早访问的条目-构造函数中有一个选项)。希望这有帮助/ 对。为什么不呢?如果我把值直接和整数或整数放在一起。intValue是一样的?在大多数情况下。如果你关心的是Integer
vsint
,那就不用担心了。除了null
之外,由于自动装箱,还可以使用任何一种形式。然而,自动拳击确实会影响性能。你的问题没有获得票数下降,而是接近票数。这是合理的,因为不清楚为什么您认为Integer
在这里不安全Map#put(K键,V值)
expect键类型由泛型描述,在您的例子中是Ineger
。由于泛型仅与对象一起工作(不能将其设置为基本类型,如int
),因此基本类型int
的传递参数将自动装箱(包装/升级)为整数,因为这是此参数的方法所需的类型。我们不知道你不知道什么,所以你需要解释是什么让你认为这可能是不安全的。