java集合与泛型_【2017年整理】实验与七:Java集合与泛型.doc

【2017年整理】实验与七:Java集合与泛型

实验七 Java集合与泛型

一、实验目的

掌握集合的概念、体系结构、分类及使用场景

了解Set接口及主要实现类(HashSet、TreeSet)

了解List接口及主要实现类(ArrayList、LinkedList、Vector)

掌握ArrayList的使用

掌握ArrayList与Vector的区别

了解Map接口及主要实现类(HashMap、TreeMap、HashTable)

掌握HashMap的使用

掌握HashMap与HashTable的区别

二、实验环境

JDK1.6+Eclpise3.2

三、实验准备

1)复习课件中理论知识

2)练习课堂所讲的例子

四、实验内容

1、编写程序练习List集合的基本使用:

1) 创建一个只能容纳String对象名为names的ArrayList集合;

2)按顺序往集合中添加5个字符串对象:“张三”、“李四”、“王五”、“马六”、“赵七”;

3)对集合进行遍历,分别打印集合中的每个元素的位置与内容;

4)首先打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。

2、编写程序练习Map集合的基本使用:

1)创建一个只能值只能容纳String对象的person的HashMap集合;

2)往集合中添加5个“键-值”对象:id—>”1”、name—>”张三”、sex—>”男”、age—>”25”、love—>”爱学Java”

3)对集合进行遍历,分别打印集合中的每个元素的键与值;

4)首先打印集合的大小,然后删除集合中的键为age的元素,并显示删除元素的内容,并再次打印集合的大小。

五、验过程及结果

第1题调试结果如下图:

第2题调试结果如下图:

六、实验感想

本次实验掌握了集合的概念、体系结构、分类及使用场景,了解了Set接口及主要实现类(HashSet、TreeSet)package zsl;

import java.util.ArrayList;

import java.util.List;

public class ListStudy {

public static void main (String[] args){

List names=new ArrayList ();

System.out.println("下面是集合的所有元素:");

names.add("张三");

names.add("李四");

names.add("王五");

names.add("马六");

names.add("钱七");

for (int i=0;i

System.out.println("位置:"+i+"的元素内容为:"+names.get(i));

}

System.out.println("目前的集合大小为:"+names.size());

System.out.println("删除的第3个元素内容为:"+names.get(2));

names.remove(2);

System.out.println("删除操作后,集合的第3个元素内容为:"+names.get(2));

System.out.println("删除操作后,集合的大小为"+names.size());

}

}package zsl;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import com.sun.corba.se.impl.encoding.OSFCodeSetRegistry.Entry;

public class MapStudy {

public static void main (String[] args){

Map person=new HashMap();

System.out.println("下面是集合的所有元素:");

person.put("id","1");

person.put("name","张三");

person.put("sex","男");

person.put("ade","25");

person.put("love","学习Java");

for(Iterator> iter=person.entrySet().iterator();iter.hasNext();){

掌握集合的概念、体系结构、分类及使用场景 2)了解Set接口及主要实现类(HashSet、TreeSet) 3)了解List接口及主要实现类(ArrayList、LinkedList、Vector) 4)了解Map接口及主要实现类(HashMap、TreeMap、HashTable) 二、实验内容及步骤 1、编写程序练习将以下5个Person类的对象放在一个HashSet中。 姓名:张三 身份证号:178880001 姓名:王五 身份证号:178880002 姓名:李四 身份证号:178880003 姓名:王五 身份证号:178880002 姓名:李四 身份证号:178880004 注意:因为Person类是自定义类,需要重写hashCode()方法和equals()方法,并规定只有姓名和身份证号都相等,则对象相等。 其中计算哈希码的算法:(31 + ((name == null) ? 0 : name.hashCode()))*31 + id (注:name:Person对象的姓名,id:Person对象的身份证号) 主方法中作如下测试: 1)创建一个可放置Person类对象的HashSet; 2)依次添加上述5个对象到HashSet中; 3)把集合中的元素打印出来(使用迭代器Iterator) 2、编写程序练习List集合基本使用: 1) 创建一个只能容纳String对象名为names的ArrayList集合; 2)按顺序往集合中添加5个字符串对象:"张三"、"李四"、"王五"、"马六"、"赵"; 3)对集合进行遍历,分别打印集合中的每个元素的位置与内容; 4)打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。 3、编写程序练习Map集合基本使用: 1)创建一个只能容纳String对象的person的HashMap集合; 2)往集合中添加5个"键-"对象: "id"-"1"; "name"-"张三"; "sex"-"男"; "age"-"25"; "hobby"-"爱学Java" 3)对集合进行遍历,分别打印集合中的每个元素的键与; 4)打印集合的大小,然后删除集合中的键为age的元素,并显示删除元素的内容,并再次打印集合的大小。 四、思考题 1、集合中的List、Set、Map有哪些不同? 2、为什么使用集合框架,而尽可能少用数组作为存储结构? 3、如何使用TreeSet实现第一题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值