java 实验七 对象集合 实验报告

2018-12-05 21:43

实验七对象集合的组织

实验目标:

1. 了解Collection、List、Set、Map等常用数据结构的层次结构

2. 掌握LinkList、Vector、ArrayList、HashTable、HashMap等类的用法 3. 掌握Enumeration(枚举)及Iterator(迭代器)的遍历用法 4. 了解自学HashSet、TreeSet这两个Set接口下的重要实现类 5. 了解自学比较器接口 实验任务:

1. 填空

List 接口的特点是元素__有__(有|无)顺序,___可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,__不可以____(可以|不可以)重复; Map 接口的特点是元素是键、值对象,其中__键__可以重复,_值对象__不可以重复 2. (List)有如下代码:

import java.util.*; public class TestList{

public static void main(String args[]){

List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); }

public static void printList(List list){ //1

} }

要求:

1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容,请使用三种方式来实现(课本227页,Iterator、增强for循环,普通循环)。

2) 三种代码与执行结果截图 1、用Iterator实现的代码如下:

package zi;

import java.util.*; publicclass Ex7_2{

publicstaticvoid main(String args[]){ List list = newArrayList(); list.add(\); list.add(\); list.add(1, \);

list.add(1, \); printList(list); }

publicstaticvoid printList(List list){ //1

Iterator itor = list.iterator(); while(itor.hasNext()){

System.out.println(itor.next()); } } }

其运行结果截图如下:

2、用增强for循环的代码如下:

package zi;

import java.util.*; publicclass Ex7_2{

publicstaticvoid main(String args[]){ List list = newArrayList(); list.add(\); list.add(\); list.add(1, \); list.add(1, \); printList(list); }

publicstaticvoid printList(List list){ //1 } }

for(Object o : list) {

System.out.println(o); }

其运行结果截图如下:

3、用普通循环的代码如下:

package zi;

import java.util.*; publicclass Ex7_2{

publicstaticvoid main(String args[]){ List list = newArrayList(); list.add(\); list.add(\); list.add(1, \); list.add(1, \); printList(list); }

publicstaticvoid printList(List list){ //1 } }

for(int i = 0; i< list.size();i++){

System.out.println(list.get(i)); }

其运行结果截图如下:

3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪一句?怎么修改?ArrayList

和LinkedList 使用上有什么区别?请书面回答 答:List list = new LinkedList();

ArrayList :查询数据速度较快,插入和删除比较慢,线程非安全。 LinkedList: 查询数据速度较慢,插入和删除比较快,线程安全。

4) 如果要把实现类由ArrayList 换为Vector,应该改哪一句?怎修改?ArrayList 和Vector 使用上有什么区别?请书面回答。 答:List list = new Vector();

Vector:以线性结构存储,查询速度较慢,线程安全。

3. (List)已知有一个Worker 类如下:

public class Worker {

private int age;

private String name; private double salary; public Worker (){}

public Worker (String name, int age, double salary){

this.name = name; this.age = age; this.salary = salary; }

public int getAge() {

return age; }

public void setAge(int age) {

this.age = age; }

public String getName() {

return name; }

public void setName(String name) {

this.name = name; }

public double getSalary(){

return salary; }

public void setSalary(double salary){

this.salary = salary; }

public void work(){

System.out.println(name + “ work”); } }

完成下面的要求

1) 创建一个List,在List 中增加三个工人,基本信息包括:姓名年龄工资。 答:增加三个工人赵一,钱二,孙三及其他们的年龄和工资,其代码如下:

package zi;

import java.util.ArrayList; import java.util.List; class Worker { privateintage; private String name; privatedoublesalary; public Worker (){}

public Worker (String name, int age, double salary){ this.name = name; this.age = age; this.salary = salary; }

publicint getAge() { returnage; }

publicvoid setAge(int age) { this.age = age; }

public String getName() { returnname; }

publicvoid setName(String name) { this.name = name; }

publicdouble getSalary(){ returnsalary; }

publicvoid setSalary(double salary){ this.salary = salary; }

publicvoid work(){

System.out.println(name + \); } }

publicclass Ex7_3_1{

publicstaticvoid main(String args[]){ List list=new ArrayList(); Worker w1=new Worker(\赵一\,30,5600);


java 实验七 对象集合 实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:镇2011年度一线工作法总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: