- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机]30801020马良--Java集合框架实验报告
浙江大学城市学院实验报告
课程名称 Java高级程序设计
实验项目名称 Java集合框架实验
学生姓名 马良 专业班级 信计0801 学号
实验成绩 指导老师(签名 ) 日期
一、实验目的
理解Java集合框架的特点、接口与类之间的关系
掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList
掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet
掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap
掌握Java集合框架的Collection与Iterator接口的特点与使用方式
二、实验内容
使用List管理对象集合
使用Map管理对象集合
使用Set管理对象集合
三、实验步骤
在Eclipse中新建工程(即项目)
使用List管理对象集合
新建一个包listExample
在这个包中新建三个类:Student类,StudentList类,StudentListTest类。
参考代码: Student.java, StudentList.java,StudentListTest.java
完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,给出具体的实现代码。
使用Map管理对象集合
新建一个包MapExample
在这个包中新建三个类:Student类,StudentMap类,StudentMapTest类。
参考代码Student.java, StudentMap.java,StudentMapTest.java
完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,给出具体的实现代码。
使用Set管理对象集合
新建一个包SetExample
在这个包中新建三个类:Student类,StudentSet类,StudentSetTest类。
参考代码:这三个类的参考代码见Student.java, StudentSet.java,StudentSetTest.java
完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,给出具体的实现代码。
四. 实验结果与分析
1. 请说明采用接口变量操作集合对象的方式,并阐述这么做的主要优点。
Java的多态性一种体现,虽然接口是不能实例化成对象的,但是可以声明接口引用,而把这个引用赋一个对象,这个对象和接口之间是直接或间接实现的关系。一个接口类型的引用指向了一个实现给接口的对象,这是java中的一种多态现象
Java中的接口不能被实例化,但是可以通过接口引用指向一个对象,这样通过接口来调用方法可以屏蔽掉具体的方法的实现,这是在JAVA编程中经常用到的接口回调,也就是经常说的面向接口的编程
ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更象数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更象一个链表结构,所以,它们在性能上有很大的差别。当你的操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能.
HashMap和TreeMap有什么区别。HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。
1.手先增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。3.而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用 增强for循环,也就是iterator。ArrayList 实现L
文档评论(0)