Java语言程序设计基础教程课件(第12章).ppt
- 文档编号:2638503
- 上传时间:2022-11-04
- 格式:PPT
- 页数:56
- 大小:228.50KB
Java语言程序设计基础教程课件(第12章).ppt
《Java语言程序设计基础教程课件(第12章).ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计基础教程课件(第12章).ppt(56页珍藏版)》请在冰豆网上搜索。
第第12章章常见数据结构的常见数据结构的Java实现实现链表的基本操作链表的基本操作栈栈树集树集树映射树映射散列表散列表散列集散列集向量向量容器类容器类数组数组的的优缺点优缺点java用于存储数据的集合类用于存储数据的集合类存储存储单个单个对象对象的集合的集合存储存储键值对键值对对象的集合对象的集合集合遍历工具:
集合遍历工具:
迭代器迭代器顺序表顺序表链表链表Tree:
排排序树序树Hash:
哈希值确哈希值确定存储地址定存储地址集合工具:
静集合工具:
静态方法态方法比较器比较器比较器接口比较器接口List接口(索引读取,可重复)接口(索引读取,可重复)ListList关心的是索引关心的是索引关心的是索引关心的是索引与其他集合相比,与其他集合相比,与其他集合相比,与其他集合相比,ListList特有的就是和索引相关特有的就是和索引相关特有的就是和索引相关特有的就是和索引相关的一些方法:
的一些方法:
的一些方法:
的一些方法:
get(intindex)get(intindex)、add(intadd(intindex,Objecto)index,Objecto)、indexOf(Objecto)indexOf(Objecto)。
ArrayListArrayList:
可增长的数组,它提供快速迭代和:
可增长的数组,它提供快速迭代和:
可增长的数组,它提供快速迭代和:
可增长的数组,它提供快速迭代和快速随机访问的能力,增删元素慢。
快速随机访问的能力,增删元素慢。
快速随机访问的能力,增删元素慢。
快速随机访问的能力,增删元素慢。
LinkedListLinkedList:
双向链表,增删元素快。
:
双向链表,增删元素快。
:
双向链表,增删元素快。
:
双向链表,增删元素快。
Set接口(元素唯一)接口(元素唯一)SetSet关心元素唯一性,它不允许重复,且无序关心元素唯一性,它不允许重复,且无序关心元素唯一性,它不允许重复,且无序关心元素唯一性,它不允许重复,且无序HashSetHashSet:
不关心元素之间的顺序且无重复值:
不关心元素之间的顺序且无重复值:
不关心元素之间的顺序且无重复值:
不关心元素之间的顺序且无重复值时使用时使用时使用时使用LinkedHashsetLinkedHashset:
希望按照元素的插入顺序:
希望按照元素的插入顺序:
希望按照元素的插入顺序:
希望按照元素的插入顺序进行迭代遍历,且不希望集合中有重复值时采进行迭代遍历,且不希望集合中有重复值时采进行迭代遍历,且不希望集合中有重复值时采进行迭代遍历,且不希望集合中有重复值时采用此类。
用此类。
用此类。
用此类。
TreeSetTreeSet希望按照元素的按大小顺序排列,且希望按照元素的按大小顺序排列,且希望按照元素的按大小顺序排列,且希望按照元素的按大小顺序排列,且不希望集合中有重复值时使用不希望集合中有重复值时使用不希望集合中有重复值时使用不希望集合中有重复值时使用Map接口(键值对映射)接口(键值对映射)MapMap关心的是唯一的键,可映射到某个元素关心的是唯一的键,可映射到某个元素关心的是唯一的键,可映射到某个元素关心的是唯一的键,可映射到某个元素HashMapHashMap当需要键值对表示,又不关心顺序当需要键值对表示,又不关心顺序当需要键值对表示,又不关心顺序当需要键值对表示,又不关心顺序时可采用时可采用时可采用时可采用HashMapHashMapHashtableHashtable注意注意注意注意HashtableHashtable中的中的中的中的tt是小写的,它是小写的,它是小写的,它是小写的,它是是是是HashMapHashMap的线程安全版本,已较少使用的线程安全版本,已较少使用的线程安全版本,已较少使用的线程安全版本,已较少使用LinkedHashMapLinkedHashMap当需要键值对,并且关心插当需要键值对,并且关心插当需要键值对,并且关心插当需要键值对,并且关心插入顺序时可采用它入顺序时可采用它入顺序时可采用它入顺序时可采用它TreeMapTreeMap当需要键值对,并希望元素按大小排当需要键值对,并希望元素按大小排当需要键值对,并希望元素按大小排当需要键值对,并希望元素按大小排序时可采用它。
序时可采用它。
序时可采用它。
序时可采用它。
List常用方法:
常用方法:
add(Objecte)将指定对象添加到集合中将指定对象添加到集合中remove(Objecto)将指定的对象从集合中移除,移除成功返回将指定的对象从集合中移除,移除成功返回true,不成功不成功返回返回falsecontains(Objecto)查看该集合中是否包含指定的对象,包含返回查看该集合中是否包含指定的对象,包含返回true,不包不包含返回含返回flasesize()返回集合中存放的对象的个数。
返回值为返回集合中存放的对象的个数。
返回值为intclear()移除该集合中的所有对象,清空该集合。
移除该集合中的所有对象,清空该集合。
iterator()返回一个包含所有对象的返回一个包含所有对象的iterator对象,用来循环遍历对象,用来循环遍历toArray()返回一个包含所有对象的数组返回一个包含所有对象的数组,类型是类型是ObjectLinkedList的常用方法的常用方法publicpublicbooleanbooleanadd(Objectadd(Objectelement)element)publicvoidpublicvoidadd(intadd(intindex,Objectelement)index,Objectelement)publicvoidpublicvoidaddFirst(ObjectaddFirst(Objectelement)element)publicvoidpublicvoidaddLast(ObjectaddLast(Objectelement)element)publicObjectpublicObjectremoveFirstremoveFirst()()publicObjectpublicObjectremoveLastremoveLast()()publicObjectremove(publicObjectremove(intintindex)index)publicObjectget(publicObjectget(intintindex)index)publicObjectpublicObjectgetFirstgetFirst()()publicObjectpublicObjectgetLastgetLast()()intintindexOf(ObjectindexOf(Objectelement)element)publicpublicintintlastIndexOf(ObjectlastIndexOf(Objectelement)element)publicObjectpublicObjectset(intset(intindex,Objectindex,Objectelement)element)publicpublicintintsize()size()publicpublicbooleanbooleancontains(Objectcontains(Objectelement)element)ObjecttoArray()ObjecttoArray()迭代器的使用迭代器的使用Stringsa=one,two,three,four;Stringsa=one,two,three,four;Listlist=Listlist=Arrays.asList(sa)Arrays.asList(sa);Iteratorit=Iteratorit=list.iterator()list.iterator();/;/转换成转换成转换成转换成IteratorIteratorwhile(while(it.hasNext()it.hasNext()/)/遍历遍历遍历遍历System.out.println(System.out.println(it.next()it.next(););12.3.3TreeSet常用方法常用方法publicbooleanadd(Objecto)publicvoidclear()publicbooleancontains(Objecto)publicObjectfirst()/最小元素最小元素publicObjectlast()/最大元素最大元素PublicbooleanisEmpty()publicbooleanremove(Objecto)publicintsize()ObjecttoArray()Set集合中如何实现元素的比较集合中如何实现元素的比较方法一:
方法一:
元素对象实现元素对象实现Comparable接口接口实现方法实现方法实现方法实现方法publicvoidcompareTo(Objecto)publicvoidcompareTo(Objecto)方法二:
方法二:
定义定义TreeSet时指定比较器时指定比较器Comparator重载重载重载重载publicintcompare(Objecta,Objectb)publicintcompare(Objecta,Objectb)Map接口的常用方法接口的常用方法put(Kkey,Vvalue)向集合中添加指定的键值对向集合中添加指定的键值对putAll(Mapt)把一把一Map中的所有键值对添加到该集合中的所有键值对添加到该集合containsKey(Objectkey)如果包含该键,则返回如果包含该键,则返回truecontainsValue(Objectval)如果包含该值,则返回如果包含该值,则返回trueget(Objectkey)根据键根据键,返回相应的值对象返回相应的值对象SetkeySet()将该集合中的所有键将该集合中的所有键Collectionvalues()将该集合中所有的值将该集合中所有的值remove(Objectkey)如存在指定的键,移除该键值对,返回键如存在指定的键,移除该键值对,返回键所对应的值,不存在则返回所对应的值,不存在则返回nullclear()清空集合清空集合isEmpty()查看查看Map中是否为空中是否为空size()集合中包含键值对的个数集合中包含键值对的个数12.4树映射树映射TreeMap树集树集树集树集TreeSetTreeSet适合用于数据的排序,适合用于数据的排序,适合用于数据的排序,适合用于数据的排序,TreeMapTreeMap类树类树类树类树映射的结点存储映射的结点存储映射的结点存储映射的结点存储“关键字关键字关键字关键字/值值值值”对,实现对,实现对,实现对,实现MapMap接口接口接口接口树映射各结点树映射各结点树映射各结点树映射各结点按照关键字升序排列按照关键字升序排列按照关键字升序排列按照关键字升序排列使用使用使用使用put(Kput(Kkey,Vkey,Vvalue)value)方法添加结点方法添加结点方法添加结点方法添加结点,该结点不,该结点不,该结点不,该结点不仅存储数据仅存储数据仅存储数据仅存储数据valuevalue,而且也存储和其关联的关键字,而且也存储和其关联的关键字,而且也存储和其关联的关键字,而且也存储和其关联的关键字keykey。
HashSet常用方法常用方法booleanadd(Ee)booleanadd(Ee)voidclear()voidclear()Objectclone()Objectclone()booleancontains(Objecto)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 基础教程 课件 12