- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验5Java集合架构讲解
实验Java集合架构
一、实验名称和性质
所属课程 程序设计 实验名称 Java集合架构 实验学时 2 实验性质 验证 综合设计 必做/选做 必做 选做 二、实验目的
1.熟悉Set接口,了解何时及如何使用 HashSet, LinkedHashSet, or TreeSet 来存储元素
2.熟悉 List 接口, 了解何时及如何使用 ArrayList or LinkedList 存储元素
3.区分 Vector and ArrayList, 了解如何使用 Vector and Stack
4. 使用 Collections、Arrays 类中的静态方法
三、实验内容
1.创建一个散列集HashSet,一个链式散列集LinkedHashSet,和一个树形集TreeSet,向各集合中添加单词,并打印。根据结果分析三个集合的不同之处(验证性内容)。
2.编写一程序,创建用数字填充的数组线性表ArrayList,将新元素添加到线性表的指定位置,再利用数组线性表创建一个链表,最后用Foreach语法遍历该链表(验证性内容)。
3. 设计一个程序,用来统计字符串“have a good day,have a good class,have a good visit,have fun!”中的每个单词出现的次数,并按照单词的升序输出(建议使用HashMap和TreeMap)(设计性内容)。
4. 某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性、班级名称属性(String)和考试成绩属性(int),某次考试结束后,每个学生都获得了一个考试成绩。请打印出每个班级的总分和平均分(设计性内容)。
四、实验的软硬件环境要求
硬件环境要求:
PC计算机;内存512MB以上
使用的软件名称、版本号以及模块:
操作系统:Windows 2000或Windows XP
软件:JDK 6.0;Eclipse
五、知识准备
前期要求掌握的知识:掌握集合架构支持的三种结构。
实验相关理论或原理:一个集合就是一个存储一组对象的容器,一般将这些对象称为集合的元素。Java集合构架支持三种类型的集合:规则集set、线性表list和图map,他们分别定义在接口Set、List和Map中。 HashSet类可以用来存储互不相同的任何元素。链式散列集 LinkedHashSet使用链表实现了对HashSet类的扩展,支持规则集内元素的排序。SortedSet 是Set的子接口,它保证规则集中的元素是有序的。 为了允许在一个集合中存储重复的元素,可以使用线性表。线性表不仅支持重复的存储,而且支持用户指定它们的存储位置。Map接口建立元素和键值的一个映射关系,键值就像下标。在List中,下标是整数,在Map中,键值可以是任意类型的对象。一个图中不能有重复的键值,每个键值对应一个值。实现Map接口的具体类:散列图HashMap、链式散列图LinkedHashMap、树形图TreeMap。
六、验证性实验
创建一个散列集HashSet,一个链式散列集LinkedHashSet,和一个树形集TreeSet,向各集合中添加单词,并打印。根据结果分析三个集合的不同之处。
输出结果如图.1所示:
图.1 集合应用
源程序代码参考
/******Set集合********/
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;
public class SetTest {
/**
* 集合测试
*/
public SetTest(){
SetString set1 =HashSetString() ; //创建HashSet
SetString set2 = LinkedHashSetString() ; //创建LinkedHashSet
set1.add(Hangzhou);
set1.add(Xiaoshan);
set1.add(Jiaxing);
set1.add(Ningbo);
set2.add(Hangzhou);
set2.add(Xiaoshan);
set2.add(Jiaxing);
set2.add(Ningbo);
TreeSetString treeset = new TreeSetString() ; //创建TreeHashSet
treeset.add(Hangzhou);
treeset.add(Xiaoshan);
treese
文档评论(0)