集合类补充案例Word文件下载.docx
《集合类补充案例Word文件下载.docx》由会员分享,可在线阅读,更多相关《集合类补充案例Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。
![集合类补充案例Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/24/7784b854-d1bf-406b-81c1-301dafef2ae5/7784b854-d1bf-406b-81c1-301dafef2ae51.gif)
二、案例实现
importjava.util.*;
publicclassExample01{
publicstaticvoidmain(String[]args){
//定义集合
Collectioncol1=newArrayList();
col1.add("
123abc"
);
col1.add(123);
col1.add(34.121);
Collectioncol2=newArrayList();
//判断集合是否为空
booleana=col1.isEmpty();
booleanb=col2.isEmpty();
"
col1集合是否为空:
"
+a);
col2集合是否为空:
+b);
//将集合col1中的元素添加到col2中
col2.addAll(col1);
col1集合中的元素添加到col2后,col2集合:
+col2);
//获取两个集合的交集
booleanc=col1.retainAll(col2);
col1和col2集合是否有交集:
+c);
//清除集合col2中的元素
col2.clear();
清除集合col2中的元素后,col2集合:
:
//获取集合中元素的个数
intsize=col1.size();
col1集合中元素的个数:
+size);
}
}
运行结果如图7-1所示。
图7-1运行结果
三、案例总结
1、Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合,如表7-1所示。
表7-1Collection中的方法
方法声明
功能描述
booleanadd(Objecto)
向集合中添加一个元素
booleanaddAll(Collectionc)
将指定Collection中的所有元素添加到该集合中
voidclear()
删除该集合中的所有元素
booleanremove(Objecto)
删除该集合中指定的元素
booleanremoveAll(Collectionc)
删除指定集合中的所有元素
booleanisEmpty()
判断该集合是否为空
booleancontains(Objecto)
判断该集合中是否包含某个元素
booleancontainsAll(Collectionc)
判断该集合中是否包含指定集合中的所有元素
Iteratoriterator()
返回在该集合的元素上进行迭代的迭代器(Iterator),用于遍历该集合所有元素
intsize()
获取该集合元素个数
2、在编译案例时,会得到如图7-2所示的警告,意思是说在使用ArrayList集合时并没有显示的指定集合中存储什么类型的元素,会产生安全隐患,这涉及到泛型安全机制的问题。
此警告对程序输出结果没有影响。
图7-2编译警告
3、在编写程序时,不要忘记使用importjava.util.*;
语句导包,否则程序将会编译失败,显示类找不到。
案例7-2List接口的特有方法
00107003
List接口
掌握List接口的常用方法的使用
List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法。
为了熟悉List接口中特有方法的使用,本案例将演示使用List接口中的方法对List集合进行添加、修改等操作。
1)编写一个类Example02
2)在类中定义两个list集合,并向其中一个集合中添加数据。
3)用subList(intfromIndex,inttoIndex)方法获取集合的一部分
4)用set(intindex,Eelement)方法修改一个元素
5)用add(intindex,Eelement)方法增加一个元素
publicclassExample02{
Listlist=newArrayList();
list.add("
abc1"
//add()方法添加元素
abc2"
abc3"
abc4"
;
ListnewList=list.subList(0,2);
//subList()方法获取集合的前两个元素
Objecto=list.set(0,"
haha"
//set()方法修改指定位置元素值为haha
list.add(0,"
QQ"
//add()方法在集合指定位置增加一个元素QQ
运行结果如图7-3所示。
图7-3运行结果
1、在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。
另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。
2、List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法,如表7-2所示。
表7-2List接口中的常见方法
voidadd(intindex,Objectelement)
将元素element插入在List集合的index处
booleanaddAll(intindex,Collectionc)
将集合c所包含的所有元素插入到List集合的index处
Objectget(intindex)
返回集合索引index处的元素
Objectremove(int
index)
删除index索引处的元素
Objectset(int
index,Object
element)
将索引index处元素替换成element对象,并将替换后的元素返回
intindexOf(Object
o)
返回对象o在List集合中出现的位置索引
intlastIndexOf(Object
返回对象o在List集合中最后一次出现的位置索引
ListsubList(int
fromIndex,int
toIndex)
返回从索引fromIndex(包括)到toIndex(不包括)处所有元素集合组成的子集合
案例7-3ArrayList集合的存取
00107004
ArrayList集合
了解ArrayList集合的特点
掌握对ArrayList集合中元素的存取操作
ArrayList是List接口的一个实现类,ArrayList集合中大部分方法都是从父类Collection和List继承过来的。
为了熟悉ArrayList集合的使用,本案例将演示ArrayList集合的定义、存储元素和取出元素。
1)编写一个类Example03
2)在类中定义一个ArrayList集合
3)用add()方法向集合中添加元素
4)用get()方法获取集合中的指定元素,由于ArrayList集合的索引的取值范围是从0开始的,最后一个索引是size-1。
所以,要获取集合中的第2个元素应该是get
(1)。
publicclassExample03{
ArrayListarray=newArrayList();
array.add("
lisi"
array.add("
wangwu"
jordan"
jackson"
white"
;
"
第2个元素是:
+array.get
(1));
运行结果如图7-4所示。
图7-4运行结果
1、在ArrayList内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在
内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。
2、索引位置为1的元素是集合中的第二个元素,这就说明集合和数组一样,索引的取值范围是从0开始的,最后一个索引是size-1,在访问元素时一定要注意索引不可超出此范围,否则会抛出角标越界异常IndexOutOfBoundsException。
3、由于ArrayList集合的底层是使用一个数组来保存元素,在增加或删除指定位置的元素时,会导致创建新的数组,效率比较低,因此不适合做大量的增删操作。
但这种数组的结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合查找元素很便捷。
案例7-4LinkedList集合的特殊方法
00107005
LinkedList集合
了解LinkedList集合的特点
掌握LinkedList集合的特殊方法的使用
ArrayList集合在查询元素时速度很快,但在增删元素时效率较低,为了克服这种局限性,可以使用List接口的另一个实现类LinkedList。
LinkedList集合除了对于元素的增删操作具有很高的效率,还专门针对元素的增删操作定义了一些特有的方法。
为了熟悉这些特殊的方法,本案例将演示如何使用LinkedList中的特殊方法对集合进行增删操作。
1)编写一个类Example04,在该类中定义一个LinkedList集合
2)分别使用addFirst()和addLast()方法向集合中添加元素
3)使用peekFirst()方法获取集合中的第一个元素
4)使用pollFirst()方法获取并移除集合中的第一个元素
5)使用pollLast()方法获取并移除集合中的最后一个元素
6)此时,集合中应该没有元素了,用peekLast()方法获取集合中的最后一个元