1. Collection
1.1 概述
1.通过继承体系发现可以发现,集合中两大分类,List和Set 并且 两个都继承了Collection,那也就意味着,Collection中的方法是List和Set都有的,
Collection介绍
1.Collection 集合 只能存储单个元素,并且只能保存引用数据类型,不能保存基本数据类型
2. 因为 底层就是 Object[] 数组,既然是Object 所以 即可以说 只能保存Object单一元素,也可以说 可以保存任何元素,因为Object是祖类,所有类型都会发生向上转型(多态)
3. 基本类型不能存 . 因为基本类型和Object没有关系,但是 可以把基本类型转换为对应的包装类类型,
而 包装类 是Object的子类,这样就能间接存储基本类型了
常用方法:
boolean add() : 添加元素
void clear() : 清空集合
boolean remove() 删除某个元素
boolean isEmpty() 判断集合中是否为空
boolean contains() : 是否包含某个元素
int size() 返回集合中 元素个数
java集合是使程序能够存储和操纵元素不固定的一组数据。 所有Java集合类都位于java.uti包中。
之前我们需要把多个元素放到一起的时候,使用的是数组。那么为何还要提供Java集合工具类呢?
注意:如果集合中存放基本类型,一定要将其 “装箱”成对应的”基本类型包装类”。
1.2 继承体系
由以上两图我们可以看出Java集合类有清晰的继承关系,有很多子接口和实现类。但是,并不是所有子接口或实现类都是最常用的。
下面我们列举出最常用的几个子接口和实现类:
Collection ——> List ——> ArrayList类
Collection ——> List ——> LinkedList类
Collection ——> Set ——> HashSet类
Collection ——> Set ——> SortedSet接口 ——> TreeSet类
Map ——> HashMap类
Map ——> SortedMap ——> TreeMap类
1.3Collection和Iterator
1.3.1 Collection概述
Collection接口是List接口和Set接口的父接口,它定义的方法可以用于操作List集合和Set集合。
Collection接口定义的方法
Collection 的使用
public class Colection01 {
public static void main(String[] args) {
// 接口不能创建对象,所以我们以ArrayList为例,由于发生多态,所以丢失ArrayList的特有方法
// 所以我们现在能够调用的方法都是Collection中的
Collection c1 = new ArrayList();
// 判断是否为空 返回 true
System.out.println(c1.isEmpty());
// 添加
c1.add("234sa");
// 123为int,会先自动装箱为 Integer,然后再向上转型为Object
c1.add(123);
// false
System.out.println(c1.isEmpty());
// 装了2 个对象Object size不是数组的长度,而是数组中已经添加的元素个数
System.out.println(c1.size());
Object o1 = new Object();
c1.add(o1);
// 3 个 Object类装进去
System.out.println(c1.size());
// 把存入的数据转数组 输出 c1.toArray();转数组
Object[] arr =