HashMap
来源:互联网 发布:csgo皮肤枪大全知乎 编辑:程序博客网 时间:2024/05/22 01:33
- Hashmap
- hashmap不是线程安全的;
- 底层是数组,数组中封存着entity,映射关系;
hashmap的key值唯一的原理是,放入的key值会先比对hashcode,如果hashcode一致会去用equals方法,比较值是否相同.如果hashcode和equals都相同,则为同样的key,保存进去编译期就会报错;
- 源码查看:
1<<4位运算,aka=as known as ,亦叫做
- 默认初始容量:16;
- 最大容量:1073741824;
- 负载因子:实际最大可容纳的容量/理论上可存放的容量;
- 负载因子增大,会减少内存的消耗,但会增加查询数据的开销时间;
- 负载因子减小,会增加内存的小伙,但会减少查询数据的开销时间;因为负载因子增大,则实际可存储的容量增大,就不用另外增加容量,减少了内存的消耗.但同时key增加,底层需要比较hashcode,增加了查询数据的时间;
- if(size++>=threshold)
resize(2*table.length);
如果超过了容量极限,会直接扩大到两倍;
- 遍历的方式:
- Keyset:
- Map.Entry<String,String> entry;
- Demo:
public class KeysetDemo {
public static voidmain(String[] args) {
Map<String, String> map = new HashMap();
map.put("1", "小花");
map.put("2", "大神");
map.put("3", "学神");
for (String string : map.keySet()) {
System.out.println(string+"..."+map.get(string));
}
for (Map.Entry<String, String> entry: map.entrySet()) {
System.out.println(entry.getKey()+"..."+entry.getValue());
}
}
}
- hashmap是无序集合,若要按顺序存储用linkedHashMap.按自然数排列用hashTable;
阅读全文
0 0
- HashMap
- HashMap
- HashMap
- HashMap
- HashMap
- HashMap
- HashMap
- HashMap
- HashMap
- HashMap
- HashMap
- hashmap
- HashMap
- HashMap
- HashMap
- hashmap
- HashMap
- Hashmap
- 微信公众号上传图片那些问题
- Spark调优之资源调优
- failed to open access log file D:\my11\taotao-manage-web\target\tomcat\logs\access.log
- Android开源项目大集合
- SpringMVC @RequestBody接收Json对象字符串
- HashMap
- Spring Day 1
- 指针加1
- Mac之如何将文件夹加入个人收藏
- java获取本机ip地址
- 我们需要怎样的生活
- SpringMVC下读取json返回字符串的乱码问题
- 那些年收藏的Android开源库集合(控件上)
- Windows下Python配置Theano深度学习框架Keras库