1、集合概述
在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢?
集合:集合是java中提供的一种容器,可以用来存储多个数据。
集合和数组既然都是容器,它们有啥区别呢?
数组的长度是固定的。集合的长度是可变的。
数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。
2、集合框架
JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与接口操作架构,才能了解何时采用哪个类, 以及类之间如何彼此合作,从而达到灵活应用。
集合按照其存储结构可以分为两大类,分别是单列集合 java.util.Collection 和双列集合 java.util.Map
Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,
从上面的描述可以看出JDK中提供了丰富的集合类库,为了便于初学者进行系统地学习,接下来通过一张图来描述整个集合类的继承体系。
其中,橙色框里填写的都是接口类型,而蓝色框里填写的都是具体的实现类。这几天将针对图中所列举的集合类进行逐一地讲解。
集合本身是一个工具,它存放在java.util包中。在Collection 接口定义着单列集合框架中最最共性的内容。
3、Collection 常用功能
Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。方法如下:
方法演示:
1
package coll;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class CollectionTest {
public static void main(String[] args) {
// 多态的写法创建一个集合对象
// 父类的引用 对象名 = new 子类的对象();
Collection<String> collection = new ArrayList<String>();
collection.add("刘备");
collection.add("男枪");
collection.add("张嘉文");
collection.add("狐臭");
// 查看集合中是否有该字符串
System.out.println(collection.contains("黑帮教父"));// f
// 查看集合的长度
System.out.println(collection.size());// 4
// 清空集合中所有元素
//collection.clear();
// 查看集合是否为空
System.out.println(collection.isEmpty());// t
// 删除
collection.remove("张嘉文");
Object[] obj = collection.toArray();// 将collection 转化为数组类型
System.out.println(Arrays.toString(obj));// 通过Arrays类的toString方法 打印内容
}
}
2
package coll;
import java.util.*;
public class CollectionTest {
public static void main(String[] args) {
// HashSet集合 无序 不重