HashMap的初始值:
hashmap有多个构造方法,
- HashMap()
- HashMap(int initCapacity)
- HashMap(int initCapacity,float loadFactor)
第一个无参构造new出来的就是默认大小initCapacity为16个键值对,加载因子loadFactor为0.75的hashmap,即put到13时则将capacity翻倍。所以默认状态的map容量总是2的n次方;
第二个构造方法则可以设置默认大小
第三个还可以设置加载因子,注意是float类型。
HashMap排序问题
HashMap的排序是一个不怎么让人舒服的话题,因为HashMap存在的意义就是通过散列值排序,达到通过下标访问超快速的目的。
hashMap内部维护HashTable,但线程不同步,存储按照key计算的hash值进行排列。hashMap没有Comparator匿名内部类,因为会破坏按照hash值存储的顺序。只能通过Collections.sort(list,c)进行排列
Map<String,String> hashMap = new Hash