版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12天集合SetHashSet第1Set集合特点和HashSetSet一个不包含重复元素的collection它不保证set案例代码一packagepackageimportjava.util.HashSet;importjava.util.Set;一个不包含重复元素的它不保证set的迭代顺序;特别是它不保证该顺序恒久不publicpublicclassSetDemopublicstaticvoidmain(String[]args)Set<String>set=newfor(Strings:set){}}}HashSet它不保证setHashSetHashSet通过查看add方法的源码,知道了添加功能的执行过程中,是进行了首先比较对象的哈希值是否相同,这个哈希值是根据对象的hashCode如果哈希值相同,继续执行equals()进行比较,返回的是true,说明元素重复,不添加。返回的是false,说明元素不重复,就添加。如果使用HashSet集合对象,你要想保证元素的唯一性,就必须重写hashCode()和equals()方法。案例代码二packagepackageimport*通过查看add方法的源码 *******如首先比较对象的哈希值是否相同,这个哈希值是根据对象的hashCode()如果哈希值相同,继续执行equals()进行比较,返回的是true,说明元素重复,不添加。返回的是false使用HashSet集 publicclassHashSetDemopublicstaticvoidmain(String[]args)HashSet<String>hs=new for(Strings:hs){}}}HashSet集合的练习自定义对象并遍HashSet集合自定义对象并遍name和age增强for案例代码三packagepackagepublicclassStudent{privateStringname;privateintage;publicStudent()}publicStudent(Stringname,intage)=this.age=}}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}}案例代码四packagepackageimportimportHashSet集 增强publicclassHashSetTestpublicstaticvoidmain(String[]args)HashSet<Student>hs=newStudents1=newStudent("Students2=newStudentStudents3=newIterator<Student>it=hs.iterator();Students=it.next();} //增强for(Students:hs){}}}HashSet集合的练习自定义对象保证元素唯一HashSet集合自定义对象并遍name和age增强for因为的元素所属的类没有重写hashCode()和equals()方法所以案例代码五packagepackagepublicclassStudent{privateStringname;privateintage;publicStudent()}publicStudent(Stringname,intage)=this.age=}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicinthashCode()finalfinalintprime=intresult=result=prime*result+result=prime*result+((name==null)?0:return}publicbooleanequals(Objectobj)if(this==returntrue;if(obj==returnif(getClass()!=returnStudentother=(Student)if(age!=returnfalse;if(name==null){if(!=null)returnfalse;}elseifreturnfalse;returntrue;}}案例代码六packagepackageimportHashSet集 增强**而的元素所属的类没有重写hashCode()和equals()publicclassHashSetTestpublicstaticvoidmain(String[]args)HashSet<Student>hs=newStudents1=newStudent("Students2=newStudent("Students3=newStudent("Students4=newStudents5=new//增强for(Students:hs){}}}第2MapMap publicinterface案例代码六packagepackageimportimport***将 * *****publicinterface*publicclassMapDemopublicstaticvoidmain(String[]args)Map<String,String>map=new//put(Kkey,Vvalue):添加元素。map.put("it001"," map.put("it002", map.put("it003", }}MapVput(Kkey,VvalueVremove(Objectkey):根据键删除键值对元素voidclear():移除所有的键值对元素booleancontainsKey(Objectkey):判断集合是否包含指定的键booleancontainsValue(Objectvalue):判断集合是否包含指定的值booleanisEmpty():判断集合是否为空intsize案例代码七packagepackageimportimportVput(Kkey,Vvalue):Vremove(Objectkey):voidclear():booleancontainsKey(Objectkey)booleancontainsValue(Objectvalue):booleanisEmpty():判断集合是否为intsize()publicclassMapDemo2publicstaticvoidmain(String[]args)Map<String,String>map=new//Vput(Kkey,Vvalue): 元素,返回 ", "," "," ", "," //Vremove(Objectkey): //voidclear()://booleancontainsKey(Objectkey):判断集合是否包含指定的 //booleancontainsValue(Objectvalue):判断集合是否包含指定的值练//boolean//booleanisEmpty()//intsize():返回集合中的键值对的对数}}MapVget(Objectkey):根据键获取值Set<K>keySet():获取所有键的集合Collection<V>values(案例代码八packagepackageimportjava.util.Collection;importjava.util.HashMap;importjava.util.Map;importVget(Objectkey):根据键获取Set<K>keySet():获取所有键的集Collection<Vvalues():publicclassMapDemo3publicstaticvoidmain(String[]args)Map<String,String>map=new", ", //Vget(Objectkey): //Set<KkeySet():Set<String>set=map.keySet();for(Stringkey:set){} Collection<String>values=map.values();for(Stringvalue:values){}}}MapMap思路:Map案例代码九packagepackageimportjava.util.HashMap;importjava.util.Map;importMap*********publicclassMapDemopublicstaticvoidmain(String[]args)Map<String,String>map=new Set<String>set=for(Stringkey:set){Stringvalue=map.get(key);}}}Map案例代码十packagepackageimportimportjava.util.Map;importMap*********publicclassMapDemo2publicpublicstaticvoidmain(String[]args)Map<String,String>map=new ntry<K,V>> ntry<String,String>>set= ntry<String,String>me:set){Stringkeyme.getKey();Stringvalue=me.getValue();}}}Map第3HashMapHashMapString键:String学号值:Student学生对象案例代码十一packagepackagepublicclassStudent{privateStringname;privateintage;publicStudent()}publicStudent(Stringname,intage)=this.age=}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicpublicvoidsetAge(intage)this.age=}}案例代码十二packagepackageimportimportjava.util.Map;import 键:String学值:StudentpublicclassHashMapTestpublicstaticvoidmain(String[]args)创建集合对HashMap<String,Student>hm=newHashMap<String,创建元素对Students1=newStudent("Students2=newStudents3=new",",",添加元素到集合hm.put("it001",hm.put("it002",hm.put("it003",遍Set<String>set=hm.keySet();for(Stringkey:set){Studentvalue=System.out.println(key+"---"+value.getName()+"---"} ntry<String,Student>>set2=hm.entrySet();for(M ntry<String,Student>me:set2){Stringkey=me.getKey();Studentvalue=me.getValue();System.out.println(key+"---"+value.getName()+"---"+}}}HashMapStudent练习2:任选式遍历键:Student学生对象值:String学生住址案例代码十三packagepackagepublicclassStudent{privateStringname;privateintage;publicStudent()}publicStudent(Stringname,intage)=this.age=}publicStringgetName()return}publicvoidsetName(Stringname)=}publicintgetAge()return}publicvoidsetAge(intage)this.age=}publicinthashCode(){finalintprime=31;intresult=1;result=prime*result+result=prime*result+((name==null)?0:return}publicbooleanequals(Objectobj)if(this==returntrue;if(obj==returnif(getClass()!=returnStudentother=(Student)if(age!=returnfalse;if(name==null){if(!=null)returnfalse;}elseifreturnfalse;returntrue;}}}案例代码十四packagepackageimportimport*练习2键:Student值:String学生住publicclassHashMapTestpublicstaticvoidmain(String[]args)HashMap<Student,String>hm=newStudents1=newStudent("Students2=newStudent("Students3=newStudent("Students4=newhm.put(s1, hm.put(s2, hm.put(s3西安hm.put(s4, Set<Student>set=hm.keySet();for(Studentkey:set){Stringvalue=}}}}ArrayList嵌套需求:ArrayList集合嵌套HashMap定义一个ArrayList集合,它包含三个元素,每一个元素都是每一个HashMap集合的键和值都是String类型的, 值 妻子第一个HashMap集合的元素:第二个HashMap小第三个HashMap案例代码十五packagepackageimportimportjava.util.HashMap;importjava.util.Set;需求:ArrayList集合嵌套HashMap集合并遍历定义一个ArrayList集合,它包含三个元素,每一个元素都是HashMap类型的每一个HashMap集合的键和值都是String键 值 第一个HashMap集合的元素第二个HashMap集合的元素小第三个HashMap集合的元素publicclassArrayListIncludeHashMapTest{publicstaticvoidmain(String[]args){ //创建元素HashMap<String,String>hm1=newHashMap<String,String>(); //把元素添加到array//创建元素HashMap<String,String>hm2=newHashMap<String,String>(); //把元素添加到array//创建元素HashMap<String,String>hm3=newHashMap<String,String>(); ////把元素添加到array//遍历ArrayListfor(HashMap<String,String>hm:array){Set<String>set=hm.keySet();for(Stringkey:set){Stringvalue=hm.get(key);} }}}HashMap嵌套需求:HashMap集合嵌套ArrayList定义
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人购房合同(含公共配套设施使用)4篇
- 2025年金融机构间协议存款居间代理服务佣金合同范本5篇
- 二零二五年度新型农业机械设备租赁合同样本4篇
- 二零二五年度美团平台商户合作服务合同4篇
- 2025年度个人旅游规划服务合同范本3篇
- 强制接触实习协议书(2篇)
- 二零二五版PVC地胶材料供应商与施工单位联合合作协议3篇
- 博士答辩技巧模板
- 用洗衣机洗衣
- 2025年个人技术投资入股合同范本4篇
- 神农架研学课程设计
- 文化资本与民族认同建构-洞察分析
- 2025新译林版英语七年级下单词默写表
- 《锡膏培训教材》课件
- 断绝父子关系协议书
- 福建省公路水运工程试验检测费用参考指标
- 《工程勘察资质分级标准和工程设计资质分级标准》
- 眼内炎患者护理查房课件
- 2021-2022学年四川省成都市武侯区部编版四年级上册期末考试语文试卷(解析版)
- 中国传统文化服饰文化
- 大气污染控制工程 第四版
评论
0/150
提交评论