资源描述:
《java集合类hashmap总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JavaHashMap总结本文将对HashMap做比较全面的总结,一个是从概念上理解,第二个是HashMap的使用,这里使用HashMap基本上是键值对来操作使用,那这个跟泛型有没有关系呢?我理解的话是有关系的,前面我们使用的泛型是一个类型的如:Listlist,但是HashMap里面的泛型居然是两个类型的东西,HashMQp〈String,String>map;使用过就知道HashMap把的数据封装在Entry这个泛型接口的类里面,实际原理可能不是这样的,但是可以这样理解。—
2、・HashMap是什么?HashMap和HashSet是JavaCollectionFramework的两个重要成员,其中HashMap是Map接口的常用实现类,HashSet是Set接口的常用实现类。虽然HashMap和HashSet实现的接口规范不同,但它们底层的Hash存储机制完全一样,甚至HashSet本身就采用HashMap来实现的。具体的概念也不用理解太多,知道HashMap使用键值对来存储数据就可以了。二.HashMap常用的使用方法HashMap的方法并不多,学会增删改查就可以(一)publicintsiz
3、e();返回此列表中的元素数。(二)pubIicbooIeanisEmpty();如果此列表中没有元素,则返回true(三)pubIicvoidcIear()从此映射中移除所有映射关系。(四)pubIicvoidput(Kkey,VvaIue)在此映射中关联指定值与指定键。。(五)pubIicvoidremove(Objectkey)从此映射中移除指定键的映射关系(如果存在)。MashMap增删改查基本操作示例-packagecom.xykj.map;importjava.util.HashMap;importjava.u
4、titerator;importjava.util.Map.Entry;publicclassMainClass{/***HashMap的增删改查操作*使用迭代器使用时要用Entity接口**/publicstaticvoidmain(String[]args){//实例化一个HashMap对象HashMaphashMap=newHashMap<>();//增加,这里乱序添加,看结果是不是乱序的!hashMap.put(,,a,,/,libai,,)jhashMap.put("d,,J,,li
5、shimingH);hashMap.put("z"lihongzhang");hashMap.put("b,,/,lijiachengH);//删除key为"4"的元素。删除时,key和value都要匹配上否则是不会删除成功的hashMap.remove(n4","lishiming");//修改Z的value换成liwenzhihashMap.put(,,,liwenzhiH);//System.out・println(hashMap);〃用迭代器查看,其他方法好像祁是不行的,因为这个相当于层层封装的东西了Iterato
6、r>it二hashMap.entrySet()・iterator();while(it.hasNext()){//这里Entry是个接口Entryen=it.next();//next一次遍历只能取一次,否则就变味了Stringkey=en.getKey();//获得keyStringvalue=en.getValue();//获得valueSystem・out・pnintln(key+”:"+value);}}}显示结果:咽Problems枯Debu
7、g旦Console必SXMainClass(25)[JavaApplication]C:ProgramFilesJavajrel.8.0_40binjavaw.exe(2016^9月10日"F午2:54:10)aa:libaibTlijiachengdI:lishimingzI:liwenzhiA按曲key的值自然升序排列显示的,不用排序从结果可以看到HashMap是按照key的值自然排序显示的对于示例1的简单说明:示例1对HashMap进行了增删改查的基本操作,这里的查看HashMap里
8、面的元素方法是比较麻烦的,但是也是要熟练掌握的。示例二本示例使用自定义的数据类型作为vaIue值,同样是增删改查的操作实现。1.先建一个自定义数据类Userpackagecom.xykj.map2;publicclassUser{//为一个用户定义三个基本属性Stringname="11;Strings