《Java语言程序设计》课件第6章Java集合、泛型和枚举.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Java语言程序设计》课件第6章Java集合、泛型和枚举.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计 Java语言程序设计课件第6章 Java集合、泛型和枚举 Java 语言程序设计 课件 集合 枚举
- 资源描述:
-
1、第六章第六章 JAVA JAVA集合、泛型和枚举集合、泛型和枚举本章学习要点本章学习要点了解集合概念及结构;掌握Arraylist集合的使用方法;掌握LinkedList集合的使用方法;掌握Set集合的使用方法;掌握HashSet集合的使用方法;掌握TreeSet集合的使用方法;掌握HashMap集合的使用方法;掌握TreeMap集合的使用方法;掌握Iterator的使用方法;了解泛型集合的概念及使用方法。6.1 JAVA 6.1 JAVA集合类的概念集合类的概念 6.1.1 6.1.1 集合中的接口集合中的接口 6.1.2 6.1.2 接口实现类接口实现类 6.1.1 6.1.1 集合中的接
2、口集合中的接口 集合框架是一个类库的集合,包含实现集合的接口。接口是集合的抽象数据类型,提供对集合中所表示的内容进行单独操作的可能。常见的集合接口有四种。Collection:该接口是最基本的集合接口,存储不唯一的无序的数据。List:该接口实现了Collection接口,存储有序的不唯一的数据。Set:该接口实现了Collection接口,存储无序的唯一的数据。Map:以健值对的形式存储数据,以键取值,键不能重复,值可以重复。6.1.1 6.1.1 集合中的接口集合中的接口 集合框架中的接口结构如图所示。6.1.2 6.1.2 接口实现类接口实现类 List接口的常用实现类有ArrayLis
3、t、LinkedList和Vector。Set接口常用的实现类有HashSet和TreeSet。Map接口的常用实现类有HashMap和TreeMap。集合框架接口中实现类的结构如图所示。6.2 JAVA COLLECTION接口 Collection是最基本的集合接口,声明了适用于Java集合(只包括Set和List)的通用方法。Map接口并不是Collection接口的子接口,但是它仍然被看作是Collection框架的一部分。6.2 JAVA COLLECTION接口 Collection接口中常用的方法如下:方法名称方法名称说明说明boolean add(E e)boolean add
4、(E e)向集合中添加一个元素,E是元素的数据类型boolean addAll(Collection c)boolean addAll(Collection c)向集合中添加集合c中的所有元素void clear()void clear()删除集合中的所有元素boolean contains(Object o)boolean contains(Object o)判断集合中是否存在指定元素boolean containsAll(Collection c)boolean containsAll(Collection c)判断集合中是否包含集合c中的所有元素boolean isEmpty()bool
5、ean isEmpty()判断集合是否为空Iteratoriterator()Iteratoriterator()返回一个Iterator对象,用于遍历集合中的元素boolean remove(Object o)boolean remove(Object o)从集合中删除一个指定元素boolean boolean removeAllremoveAll(Collection c)(Collection c)从集合中删除所有在集合c中出现的元素boolean retainAll(Collection c)boolean retainAll(Collection c)仅仅保留集合中所有在集合c中出现
6、的元素int size()int size()返回集合中元素的个数Object toArray()Object toArray()返回包含此集合中所有元素的数组 6.3 JAVA LIST 6.3 JAVA LIST集合集合 6.3.1 6.3.1 ArrayListArrayList类类 6.3.2 6.3.2 LinkListLinkList类类6.3.1 6.3.1 ARRAYLISTARRAYLIST类类 List接口实现了Collection接口,它主要有两个实现类:ArrayList类和LinkedList类。在List集合中允许出现重复元素。与Set集合不同的是,在List集合中
7、的元素是有序的,可以根据索引位置来检索List集合中的元素,第一个添加到List集合中的元素的索引为0,第二个为1,依此类推。6.3.1 6.3.1 ARRAYLISTARRAYLIST类类 ArrayList是Java集合框架中的一个重要的类,它继承于AbstractList,实现了List接口,是一个长度可变的集合,提供了增删改查的功能。集合中允许null的存在。ArrayList类还是实现了RandomAccess接口,可以对元素进行快速访问。实现了Serializable接口,说明ArrayList可以被序列化,还有Cloneable接口,可以被复制。和Vector不同的是,Array
8、List不是线程安全的。6.3.1 6.3.1 ARRAYLISTARRAYLIST类类 构造方法如下:构造方法构造方法说明说明ArrayListArrayList()()默认提供初始容量为10的空列表。ArrayList(int initialCapacity)ArrayList(int initialCapacity)构造一个具有指定初始容量的空列表。ArrayList(Collectionc)ArrayList(Collectionc)构造一个包含指定collection的元素6.3.1 6.3.1 ARRAYLISTARRAYLIST类类 常用方法:方法名称方法名称说明说明E get(
9、int index)E get(int index)获取此集合中指定索引位置的元素,E 为集合中元素的数据类型int index(Object o)int index(Object o)返回此集合中第一次出现指定元素的索引,如果此集合不包含该元素,则返回-1int lastIndexOf(Obj ect o)int lastIndexOf(Obj ect o)返回此集合中最后一次出现指定元素的索引,如果此集合不包含该元素,则返回-1E set(int index,E element)E set(int index,E element)将此集合中指定索引位置的元素修改为 element 参数指定
10、的对象。此方法返回此集合中指定索引位置的原元素List subList(int fromlndex,int tolndex)List subList(int fromlndex,int tolndex)返回一个新的集合,新集合中包含 fromlndex 和 tolndex 索引之间的所有元素。包含 fromlndex 处的元素,不包含 tolndex 索引处的元素6.3.2 6.3.2 LINKLISTLINKLIST类类 ArrayList基于动态数组的实现,它长于随机访问元素,但是在中间插入和移除元素时较慢。LinkedList基于链表实现,在List中间进行插入和删除的代价较低,提供了优
11、化的顺序访问。LinkedList在随机访问方面相对比较慢,但是它的特性集较ArrayList更大。6.3.2 6.3.2 LINKLISTLINKLIST类类 常用方法方法名称方法名称说明说明void addFirst(E e)void addFirst(E e)将指定元素添加到此集合的开头void addLast(E e)void addLast(E e)将指定元素添加到此集合的末尾E getFirst()E getFirst()返回此集合的第一个元素E E getLastgetLast()()返回此集合的最后一个元素E removeFirst()E removeFirst()删除此集合中
12、的第一个元素E removeLast()E removeLast()删除此集合中的最后一个元素 6.4 JAVA SET 6.4 JAVA SET集合集合 6.4.1 HashSet 6.4.1 HashSet 类类 6.4.2 6.4.2 TreeSetTreeSet 类类 6.4.1 HASHSET 6.4.1 HASHSET 类类 Set集合也实现了Collection接口,它主要有两个实现类:HashSet类和TreeSet类。Set集合中的对象不按特定的方式排序,只是简单地把对象加入集合,集合中不能包含重复的对象,并且最多只允许包含一个null元素。HashSet查找某个对象时,首先
13、用hashCode()方法计算出这个对象的Hash码,然后再根据Hash码到相应的存储区域用equals()方法查找,从而提高了效率。由于是集合,所以同一个对象只能有一个。6.4.1 HASHSET 6.4.1 HASHSET 类类 常用方法方法名称方法名称说明说明boolean boolean addadd(E E e)e)将指定的元素添加到此集合(如果尚未存在)void void clearclear()()从此集合中删除所有元素boolean boolean containscontains(ObjectObject o)o)如果此集合包含指定元素,则返回trueboolean bool
14、ean isEmptyisEmpty()()如果此集合不包含元素,则返回trueIteratorIterator iteratoriterator()()返回此集合中元素的迭代器boolean boolean removeremove(ObjectObject o)o)如果存在则从该集合中删除指定的元素int int sizesize()()返回此集合中的元素数(其基数)SpliteratorSpliterator spliteratorspliterator()()在此集合中的元素上创建late-binding和故障快速Spliterator 6.4.2 6.4.2 TREESETTREES
15、ET 类类 TreeSet类同时实现了Set接口和SortedSet接口。SortedSet接口是Set接口的子接口,可以实现对集合进行自然排序,因此使用TreeSet类实现的Set接口默认情况下是自然排序的,这里的自然排序指的是升序排序。6.4.2 6.4.2 TREESETTREESET 类类 构造方法:方法方法说明说明TreeSet()TreeSet()构造一个新的,空的树组,根据其元素的自然排序进行排序TreeSet(Collection c)TreeSet(Collection c)构造一个包含指定集合中的元素的新树集,根据其元素的自然排序进行排序TreeSetTreeSet(Com
16、parator comparator)(Comparator comparator)构造一个新的,空的树集,根据指定的比较器进行排序TreeSet(SortedSet s)TreeSet(SortedSet s)构造一个包含相同元素的新树,并使用与指定排序集相同的顺序 6.4.2 6.4.2 TREESETTREESET 类类 常用方法:方法名称方法名称说明说明boolean boolean addadd(E E e)e)将指定元素添加到此集合Boolean Boolean addAlladdAll(CollectionCollection?extends c)c)将指定集合中的所有元素添加到
展开阅读全文