java关于泛型的实验代码_实验六:Java集合和泛型完整.doc

实验六: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、编写程序练习List集合的基本使用:

代码如下:

package zhoupeili;

import java.util.*;

public class L1 {

public static void main(String[] args) {

List names = new ArrayList();

names.add("张三");

names.add("李四");

names.add("王五");

names.add("马六");

names.add("赵七");

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

System.out.println("第" + (i + 1) + "条数据 为:" + names.get(i));

}

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

names.remove(2);

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

System.out.println("第" + (i + 1) + "条数据 为:" + names.get(i));

}

System.out.println("第3条数据为:"+ names.get(2));

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

}

}

调试结果如下图:

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

代码如下:

package zhoupeili;

import java.util.*;

import java.util.Map.Entry;

public class L2 {

public static void main(String[] args) {

Map person=new HashMap();

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

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

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

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

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

Iterator it =person.entrySet().iterator();

while(it.hasNext()){

Map.Entry entry=(Entry) it.next();

System.out.println("键:" + entry.getKey() + ",值:" + entry.getValue());

}

System.out.println("集合大小为:"+person.size());

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
掌握集合的概念、体系结构、分类及使用场景 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对象personHashMap集合; 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、付费专栏及课程。

余额充值