大数据双元基础班-day11集合_第1页
大数据双元基础班-day11集合_第2页
大数据双元基础班-day11集合_第3页
大数据双元基础班-day11集合_第4页
大数据双元基础班-day11集合_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论