Java语言程序设计教程第2版 教学课件 作者 邱桃荣 主编 第6章 常用的工具类.ppt
文本预览下载声明
第6章 常用的工具类 学习导读 Java的API中包含了大量的预定义类,本章将主要介绍Java的实用工具包java.util中的常用的一些数据结构类和工具类。另外,还将在本章中给大家介绍关于Applet小程序的基本知识。 课程结构 6.1 List和ArrayList类 6.2 Set和HashSet类 6.3 Map和HashMap类 6.4 Vector类和Stack类 6.5 泛型 6.6 Applet小程序 Java的集合(Collection)框架 Java的集合框架支持三种类型的集合:线性表List、规则集Set和映射Map。 Set的实例存储一组互不相同的元素 ; List的实例存储一组顺序排列的元素 ; Map的实例存储一组对象,该实例中的每个元素都有一个关联的关键字。 Collection接口是构造集合框架的基础,它是处理对象集合的根接口,声明了所有Collection类都将拥有的核心方法,具体见表6-1。 6.1 List和ArrayList类 List List接口扩展了Collection接口,定义了一个可以存储重复元素的有序集合。 用户可以通过指定下标访问元素,并可以指定元素在集合中的存储位置。在List类集中,下标从0开始。 List接口除继承了Collection接口声明的方法外,还定义了它自己的一些方法,具体见表6-2。 6.1 List和ArrayList类 6.1 List和ArrayList类 ArrayList ArrayList类实现了List接口,它将元素存储在一个动态数组中,存储空间大小可随存储元素的多少进行动态变化。 ArrayList提供了三个构造函数: ①ArrayList() ②ArrayList(Collection?c) ③ArrayList(int?initialCapacity) 6.1 List和ArrayList类 例6.1:创建一个空数组列表,在其中顺序添加A、B、C、D、E、F六个对象,并显示该数组列表的内容和大小。然后在该数组列表中添加和删除元素,并将修改后的数组列表内容输出。程序源代码见ArrayListExample.java ,运行结果如图6-1。 6.1 List和ArrayList类 LinkedList LinkedList类也实现List接口,它将元素存储在链表中。 LinkedList提供了两个构造函数: ①LinkedList( ) ②LinkedList(Collection ?c) 6.1 List和ArrayList类 例6.2 创建一个空链接列表,并在其中依次添加1、2、3、4、5共5个元素,显示该链接列表的内容和大小。然后在该链接列表中添加和删除元素,并将修改后的链接列表内容输出。程序源代码见LinkedListExample.java,程序运行结果见图6-2 。 6.2 Set和HashSet类 Set接口扩展了Collection接口,和List接口不同的是,Set定义的集合中不能包含相同的元素。 Set除了继承Collection定义的方法外,本身并没有定义其他的方法。 HashSet类实现了Set接口,由HashSet类声明的集合使用散列表(hash table),它当中存放的元素并没有特殊的顺序。 HashSet提供了四个构造函数: ①HashSet() ②HashSet(Collection?c) ③HashSet(int?initialCapacity) ④HashSet(int?initialCapacity, float loadFactor) 6.2 Set和HashSet类 例6.3 创建一个散列集,并显示该散列集的内容。程序源代码见HashSetExample.java,程序运行结果见图6-3。 6.3 Map和HashMap类 Map Map接口用于存储元素和关键字的映射关系,在Map中关键字相当于List中的下标值,用于检索元素的对象。 List的下标定义为整数,而在Map中关键字可以定义为任意类型的对象,但必须是唯一的,不能有重复。每个关键字都对应于一个存放在Map对象中的元素,元素的值是可以重复的。 Map接口定义的方法见表6-3。 6.3 Map和HashMap类 6.3 Map和HashMap类 HashMap HashMap类使用散列表来实现Map接口,该类实现了所有Map接口定义的操作,并且允许空值和空关键字存在于对象中。 由于使用了散列码,因此在HashMap中并不保证元素的存放顺序和它加入该集合的顺序是一致的。 HashMap提供了四个构造函数: ①HashMap()
显示全部