JAVA集合试题库
- 格式:docx
- 大小:421.42 KB
- 文档页数:26
集合
一、第一模块:知识点讲解
图解集合
HashSet LinkedHashSet
Comparable comparator
1、集合的由来:我们学的语言是面向对象的语言,为了方便对多个对象进行操作,我们就必须把对象存储。而要存储多个对象,就不能是一个基本变量,而应该是一个容器类型的变量。这样就引入了集合。
*以前接触过得容器:数组、StringBuffer 等
由于StringBuffer 的结果是一串字符,不一定能满足我们的要求,所以我们只能选择数组,这就是对象数组。而对象数组不能适应变化的需求,因为数组的长度是固定。
2、数组和集合的区别
① 长度区别
集合的长度可变
数组长度不可变
② 内容区别
集合可以存储不同类型的元素
数组存储的是同一种类型的元素
③ 元素的数据类型问题
数组可以存储基本数据类型也可以存储引用数据类型
集合只能存储引用类型
Java 提供了不同的集合类,这多个集合的数据结构不同 *数据结构:数据的存储方式
Java 提供的多种集合类,他们的数据结构不同,但是,他们肯定有共性的内容(存储、获取、判断等)。通过不断的向上提取,我们就能够得到一个集合的继承体系结构图。 把上面这段话转化为图形的形式:
TreeSet 通过这个图可以清楚的理解集合
现在我们从最低层开始学习
一、Collection(接口Java.util )
1、功能:①:添加
boolean add(Object obj) 添加一个元素
boolean addAll(Collection c)添加一个集合的元素
②:删除
void clear() 移除所有元素
boolean remove(Object obj) 移除一个元素
boolean removeAll(Collection c)移除一个集合的元素
③:判断
boolean cotains(Object o)判断集合中是否包含指定元素
boolean containsAll(Collection c)判断集合中是否包含指定集合Collection c1=new ArrayList();
c1.add("hello");
c1.add("java");
c1.add("world");
Collection c2=new ArrayList();
System.out.println("containsAll:"
System.out.println(c1);
System.out.println(c2);
打印结果:
containsAll:false
c1[hello, java, world]
c2[a, c, world]
boolean isEmpty() 判断是否是空
④获取
Iterator
⑤长度
int size()
⑥交集功能(了解)
boolean retainAll(Collection c)交集
两个集合中都有的元素,返回值的意思?
假设有两个集合A,B。A对B做交集,最终存在A中,B不变,返回值表示的是A是否发生过改变。
Collection c1=new ArrayList();
c1.add("hello");
c1.add("java");
c1.add("world");
Collection c2=new ArrayList();
c2.add("a");
c2.add("c");
c2.add("world");
System.out.println("retainAll:"+c1.retainAll(c2));
System.out.println("c1:"+c1);
System.out.println("c2:"+c2);
打印结果:
retainAll:true
c1:[world]
c2:[a, c, world]
⑦把集合转成数组
Object[] toArray()
注意:*通过测试得出的一些结论
removeAll():只要有一个被移除就叫移除
containsAll():只有包含所有的元素才叫包含
retainsAll():谁调用谁变,没有交集元素,那个集合就变为空。返回值的含义就是有集合变了就返回true,否则返回false。
2、创建Collection对象
Collection c=new ArrayList();//因为Collection是接口,并且它没有直接实现类,而ArrayList是其子接口,通过测试,可以看出它重写了toString()方法,直接输出打印的是[],ArrayList集合里面的元素可以重复
3、集合的遍历
①把集合转成数组,可以实现集合的遍历
//创建对象
Collection c=new ArrayList();
c.add(“hello”);
c.add(“world”);
c.add(“java”);
//遍历(toArray())
Object[] objs=c.toArray();
for( int x=0;x System.out.println(objs[x]); } //但是要想得到个字符串的长度,则需要向下转型 String s=(String)objs[x]; System.out.println(s.length()); ②Iterator迭代器 //创建对象 Collection c=new ArrayList(); c.add(“hello”); c.add(“world”);