Java程序设计:第20章容器

上传人:桔**** 文档编号:570118941 上传时间:2024-08-02 格式:PPT 页数:17 大小:53.50KB
返回 下载 相关 举报
Java程序设计:第20章容器_第1页
第1页 / 共17页
Java程序设计:第20章容器_第2页
第2页 / 共17页
Java程序设计:第20章容器_第3页
第3页 / 共17页
Java程序设计:第20章容器_第4页
第4页 / 共17页
Java程序设计:第20章容器_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《Java程序设计:第20章容器》由会员分享,可在线阅读,更多相关《Java程序设计:第20章容器(17页珍藏版)》请在金锄头文库上搜索。

1、第第20章章 容器容器容器,顾名思义就是用于存放物体的器皿。最经典的动漫机器猫的大肚子,它几乎可以装下所有的东西。容器就有这样的功能。它不像数组的空间,在初始化的时候就已经将空间确定,容器在初始化的时候不指定最大的存放空间,系统会根据存放的对象来跳转内存空间。20.1 容器概述容器概述容器的种类比较多,大体上可以分为Collection和Map两种类型。Collection的意思就是集合,指按照一定的规则存放在一起的对象集。其中包括List和Set,存放在List中的对象要按照一定的顺序排放;Set中无法存放重复的元素。Map是指的一种对应关系,就像是一个学号对应一个学生一样,还有就是一个班级

2、对应一群人。这就体现了Java的对象引用设计思想,将对象和一个简单的名字进行关联,用户就可以直接根据这个名字来取用对象。20.2 迭代器迭代器迭代器主要用来对容器中的元素进行遍历。也就是将机器猫肚子里的所有东西全拿出来,并可以对这些东西进行删除等操作。每一个迭代器对象都代表着容器中的一个确定的地址。其中有一些比较常用的方法,如下所示。boolean hasNext():该方法的作用是判断是否存在可以访问的元素。Object next():该方法的作用是返回下一个元素。如果程序运行到了集合的末尾,则会抛出NoSuchElementException异常。void remove():该方法的作用是

3、删除上次访问的元素。20.3 ListList接口继承了Collection接口,是一个用于有序存放对象的集合,List中主要包括有ArrayList和LinkedList两个子类。本节将对List链表做详细的介绍。20.3.1 List接口方法接口方法List接口中提供了一些常用的方法,用于对List的元素进行操作,具体方法如下。20.3.2 链表迭代器接口方法表迭代器接口方法链表的迭代器接口是ListIteator,该接口继承了Iteator接口,并且对其进行扩展。链表迭代器主要支持对List的访问,ListIterator提供的新方法如下。20.3.3 链表和数表和数组链表表Java中的

4、集合由LinkList和ArrayList两个实现类。后者支持随机访问,而且不需要在末尾以外的地方插入或者是删除集合。而LinkedList可以比较频繁的对列表中间的元素进行删除或者是添加操作。可以根据使用时的不同需求来选择不同的实现类。20.3.4 List应用用1链表应用链表的应用,首先是在MyLinkedList类中创建内部类AbsMyList以及接口ImpQueue和ImpStack接口。20.4 集集SetSet接口具有和Collection完全一样的接口。Set和List最大的不同就是Set中的成员不能够重复,也就是说Set中的任意两个成员之间相互调用方法equals必须返回为fa

5、lse。equals方法保证元素的唯一性。20.4.1 Set接口的方法接口的方法常用的set有三个,他们都实现了Set接口,并且具备各自的特点。20.4.2 哈希集和哈希集和树集集Set接口中有两个实现类,分别是HashSet和TreeSet。在需要自己手动创建类时,需要覆盖hashCode()方法和equals()方法。其中TreeSet是以有序的方式对元素进行排列。HahsSet和TreeSet都有自己不同的构造方法。1. 哈希集HashSet类构造方法2. 树集TreeSet类构造方法20.4.3 实现Set下面是一个演示TreeSet的例子,该程序中元素类型为Student类,Stu

6、dent类实现了Comparable接口,用于对元素进行排序。20.5 映射映射MapMap提供了一种键值对应的存储方式,是指对象和另一个对象形成一一对应的关系,从一个对象来获取另一个对象的存在,不过这种映射关系是单向的。对于键对象来说,像Set一样,一个Map容器中的键对象不允许有重复的。这样一来就保证了键的唯一性。可以根据键对象来快速定位值对象。20.5.1 Map接口方法接口方法在Map映射接口中也提供了一些常用的方法,具体方法如下。20.5.2 哈希映射和哈希映射和树映射映射Map的实现有哈希映射HashMap和树映射TreeMap。两者的选择是根据不同的功能来进行选择,例如HashM

7、ap比较适合于频繁的在Map中进行插入、删除元素。而TreeMap则比较适合只按照自然的顺序或者自定义遍历。HashMap添加的键类必须要重写hashCode()和equals()方法,而TreeMap则必须要实现Comparable接口。1. 哈希映射HashMap类的构造方法2. 树映射TreeMap类的构造方法20.5.3 哈希映射哈希映射应用用HashMap中会通过get()方法来获取value,然后会通过put()来插入value,用于检验对象是否存在的方法是ContainKey()方法。HashMap是通过key来索引其内容,除了这方面外和ArrayList的操作没有其他的差异。20.5.4 实现MapHashMap是根据键值的HashCode值来进行数据的存储,并且根据键可以直接获取到它的值,这样一来,访问的速度就变得非常的快。不过HashMap也是优缺点的,HashMap不支持线程的同步,即统一时刻有多个线程同时写HashMap;HashMap最多只允许一条记录的键值为Null,允许多条记录的值为Null。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号