第7章 集合类 - 补充案例

2019-09-01 20:40

博学谷——让IT教学更简单,让IT学习更有效

第七章 集合

案例7-1 Collection接口对集合的操作

一、案例描述

1、 考核知识点

编号:00107002

名称:Collection接口

2、 练习目标

? 掌握Collection接口中方法的使用

3、 需求分析

Collection是所有单列集合的父接口,在Collection中定义了单列集合(List和Set)通用的一些方法。为了让初学者熟悉Collection接口中的常用方法,本案例将演示Collection接口中的方法对集合进行操作来学习方法的使用。

4、 设计思路(实现原理)

1) 编写一个类Example01

2) 在类中定义两个Collection集合,并向其中一个集合中添加数据 3) 用Collection接口中的方法对定义的两个集合进行各种操作

二、案例实现

import java.util.*; public class Example01 {

public static void main(String[] args) {

// 定义集合

Collection col1 = new ArrayList(); col1.add(\col1.add(123); col1.add(34.121);

Collection col2 = new ArrayList(); // 判断集合是否为空

boolean a = col1.isEmpty(); boolean b = col2.isEmpty();

System.out.println(\集合是否为空:\System.out.println(\集合是否为空:\// 将集合col1中的元素添加到 col2中 col2.addAll(col1);

System.out.println(\集合中的元素添加到 col2后,col2集合:\

1

博学谷——让IT教学更简单,让IT学习更有效

}

}

// 获取两个集合的交集

boolean c = col1.retainAll(col2);

System.out.println(\和col2集合是否有交集:\// 清除集合col2中的元素 col2.clear();

System.out.println(\清除集合col2中的元素后,col2集合::\// 获取集合中元素的个数 int size = col1.size();

System.out.println(\集合中元素的个数:\

运行结果如图7-1所示。

图7-1 运行结果

三、案例总结

1、Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些

方法,这些方法可用于操作所有的单列集合,如表7-1所示。

表7-1 Collection中的方法 方法声明 boolean add(Object o) boolean addAll(Collection c) void clear() boolean remove(Object o) boolean removeAll(Collection c) boolean isEmpty() boolean contains(Object o) boolean containsAll(Collection c) Iterator iterator() int size() 功能描述 向集合中添加一个元素 将指定Collection中的所有元素添加到该集合中 删除该集合中的所有元素 删除该集合中指定的元素 删除指定集合中的所有元素 判断该集合是否为空 判断该集合中是否包含某个元素 判断该集合中是否包含指定集合中的所有元素 返回在该集合的元素上进行迭代的迭代器(Iterator),用于遍历该集合所有元素 获取该集合元素个数 2、在编译案例时,会得到如图7-2所示的警告,意思是说在使用ArrayList集合时并没有显示的指定集合中存储什么类型的元素,会产生安全隐患,这涉及到泛型安全机制的问题。此警告对程序输出结果没有影响。

2

博学谷——让IT教学更简单,让IT学习更有效

图7-2 编译警告

3、在编写程序时,不要忘记使用import java.util.*;语句导包,否则程序将会编译失败,显示类找不到。

案例7-2 List接口的特有方法

一、案例描述

1、 考核知识点

编号:00107003

名称:List接口

2、 练习目标

? 掌握List接口的常用方法的使用

3、 需求分析

List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法。为了熟悉List接口中特有方法的使用,本案例将演示使用List接口中的方法对List集合进行添加、修改等操作。

4、 设计思路(实现原理)

1) 编写一个类Example02

2) 在类中定义两个list集合,并向其中一个集合中添加数据。 3) 用 subList(int fromIndex, int toIndex)方法获取集合的一部分 4) 用set(int index, E element)方法修改一个元素 5) 用add(int index, E element)方法增加一个元素

二、案例实现

import java.util.*; public class Example02{

public static void main(String[] args) {

List list = new ArrayList(); list.add(\ list.add(\list.add(\list.add(\

System.out.println(list);

List newList = list.subList(0, 2);//subList()方法获取集合的前两个元素

//add()方法添加元素

System.out.println(newList);

Object o = list.set(0, \方法修改指定位置元素值为haha

}

System.out.println(list); System.out.println(o);

list.add(0, \方法在集合指定位置增加一个元素QQ System.out.println(list);

3

博学谷——让IT教学更简单,让IT学习更有效

}

运行结果如图7-3所示。

图7-3 运行结果

三、案例总结

1、在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。

2、List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法,如表7-2所示。

表7-2 List接口中的常见方法 方法声明 void add(int index,Object element) boolean addAll(int index,Collection c) Object get(int index) Object remove(int index) Object set(int index, Object element) int indexOf(Object o) int lastIndexOf(Object o) List subList(int fromIndex, int toIndex)

功能描述 将元素element插入在List集合的index处 将集合c所包含的所有元素插入到List集合的index处 返回集合索引index处的元素 删除index索引处的元素 将索引index处元素替换成element对象,并将替换后的元素返回 返回对象o在List集合中出现的位置索引 返回对象o在List集合中最后一次出现的位置索引 返回从索引fromIndex(包括 )到 toIndex(不包括)处所有元素集合组成的子集合 案例7-3 ArrayList集合的存取

一、案例描述

1、 考核知识点

编号:00107004

名称:ArrayList集合

2、 练习目标

? 了解ArrayList集合的特点

? 掌握对ArrayList集合中元素的存取操作

3、 需求分析

ArrayList是List接口的一个实现类,ArrayList集合中大部分方法都是从父类Collection和List

4

博学谷——让IT教学更简单,让IT学习更有效

继承过来的。为了熟悉ArrayList集合的使用,本案例将演示ArrayList集合的定义、存储元素和取出元素。

4、 设计思路(实现原理)

1) 编写一个类Example03

2) 在类中定义一个ArrayList集合 3) 用add()方法向集合中添加元素

4) 用get()方法获取集合中的指定元素,由于ArrayList集合的索引的取值范围是从0开始的,最

后一个索引是size-1。所以,要获取集合中的第2个元素应该是get(1)。

二、案例实现

import java.util.*; public class Example03{

public static void main(String[] args) {

ArrayList array = new ArrayList(); array.add(\array.add(\array.add(\array.add(\

array.add(\

System.out.println(array); }

}

System.out.println(\第2个元素是:\

运行结果如图7-4所示。

图7-4 运行结果

三、案例总结

1、在ArrayList内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在 内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

2、索引位置为1的元素是集合中的第二个元素,这就说明集合和数组一样,索引的取值范围是从0开始的,最后一个索引是size-1,在访问元素时一定要注意索引不可超出此范围,否则会抛出角标越界异常IndexOutOfBoundsException。

3、由于ArrayList集合的底层是使用一个数组来保存元素,在增加或删除指定位置的元素时,会导致创建新的数组,效率比较低,因此不适合做大量的增删操作。但这种数组的结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合查找元素很便捷。

5


第7章 集合类 - 补充案例.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:质量经理工作手册

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

马上注册会员

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