java集合类实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【实验名称】:使用java集合类,判断海量数据段的重复性

【实验目的】:

1.了解java集合类的概念,并对于集合类有大致的理解。

2.掌握使用集合类的方法和技巧,并应用到实际操作中

3.体会java学习的魅力,进一步提升java编程的能力

【实验环境】:

Windows 8.1 eclipse jdk8

【实验步骤】:

一.集合类的简单介绍

数组是很常用的一种的数据结构,我们用它可以满足很多的功能,但是,有时我们会遇到如下这样的问题:

1、我们需要该容器的长度是不确定的。

2、我们需要它能自动排序。

3、我们需要存储以键值对方式存在的数据。

如果遇到上述的情况,数组是很难满足需求的,接下来本章将介绍另一种与数组类似的数据结构——集合类,集合类在Java中有很重要的意义,保存临时数据,管理对象,泛型,Web框架等,很多都大量用到了集合类。

常见的集合类有这些种:

实现Collection接口的:Set、List以及他们的实现类。

实现Map接口的:HashMap及其实现类。

二.各集合的学习:

1、Collection接口

Collection是最基本集合接口,它定义了一组允许重复的对象Collection 接口派生了两个子接口Set和List,分别定义了两种不同的存储方式,如下:

编写以下代码:

输出如下图所示:

2.List接口的实现类

List接口继承了Collection接口,因此包含Collection中的所有方法,此外,List接口还定义了以下两个非常重要的方法。

get(int index):获得指定索引位置的元素。

set(int index , Object obj):将集合中指定索引位置的对象修改为指定的对象。

List接口的常用实现类有ArrayList与LinkedList。

ArrayList类实现了可变的数组,允许所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问。缺点是向指定的索引位置插入对象或删除对象的速度较慢。

LinkedList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较好;但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较慢。

利用以上方法编写代码如下:

程序运行结果如下:

3.set集合学习:

Set集合中的对象不按特定的方式排序,只是简单地把对象加入集合中它有如下特点:

1.它不允许出现重复元素;

2.不保证集合中元素的顺序

3.允许包含值为null的元素,但最多只能有一个null元素。

Set接口继承了Collection接口,因此包含Collection接口的所有方法。

程序输出结果如下:

经过调试验证发现,set集合的确不能保证集合中元素的顺序,并且不能添加重复的元素。然后利用TreeSet编写代码如下所示:

输出如下图所示:

经过检验是按照字典序输出的。

4.Map集合

Map接口提供了将key映射到值的对象。一个映射不能包含重复的key,每个key 最多只能映射到一个值。Map接口中同样提供了集合的常用方法,除此之外还包括如下表所示的常用方法。Map接口常用的实现类有HashMap和TreeMap。建议使用HashMap类实现Map集合,因为由HashMap类实现的Map集合对于添加和删除映射关系效率更高。HashMap是基于哈希表的Map接口的实现,HashMap通过哈希码对其内部的映射关系进行快速查找;而TreeMap中的映射关系存在一定的顺序,如果希望Map集合中的对象也存在一定的顺序,应该使用TreeMap类实现Map集合。

代码运行结果如下所示:

题目:

运行结果如下:

【实验总结】:

通过这次实验,我理解了java中集合类的基本概念,尝试使用了set,map,list的一些基本用法,对于java语言的掌握更深了一步,并在最后的应用中使用map解决了老师的问题。这好像是最后一次java实验报告,每次写java实验报告前都是很拒绝的,因为感觉要写的很多,但是最后写完之后发现收获也是很大的,可能付出多少就会回报多少吧。以后希望在java学习中取得更大的突破。

相关文档
最新文档