import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

/**
 * @author 冀帅
 * @date 2020/8/7-10:53
 * 一丶集合框架的概述
 * 1.集合丶数组都是对多个数据进行存储操作的结构,简称java容器
 *     说明:此时的存储,主要是指内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)
 * 2.数组存储多个数据方面的特点:
 *    >一旦初始化后,长度就确定。
 *    >数组一旦定义好,其元素的类型也就确定了,
 *    我们只能操作指定类型的数据,比如::String[] arr;int[] arr1;Object[] arr2;
 * 2.1.数组的缺点:
 *    >一旦初始化,其长度就不可修改。
 *    >数组中提供的方法有限。对于添加,删除,插入数据等操作,不方便。效率不高。
 *    >获取数组中实际元素的个数的需求数组没有现成的属性和方法可用。
 *    >数组存储数据的特点:有序可重复存储。对于无序的,不能重复的需求,数组不能满足。
 *二丶集合框架
 *   \------Collection接口:单列集合,用来存储一个一个对象(对于基本类型可以以包装类的形式去存储)
 *        \----List接口:有序,可重复。--->“动态数组”--长度可以改变
 *              \----ArrayList  LinkList   Vector
 *        \----Set接口:无序,不可重复。--->
 *              \----HashSet    LinkedHashSet  TreeSet
 *
 *
 *   \------Map接口:双列集合,用来存储一对的数据(key - value)
 *              \----HashMap  LinkedHashMap   TreeMap  Hashtable  Properties
 *
 *
 *
 *
 * Collection接口中的方法的使用
 */


public class CollectionTest {
    @Test
    public  void  test1(){
        Collection coll = new ArrayList();
        //add(Object e):将元素e添加到集合coll中
        coll.add("AA");
        coll.add("BB");
        coll.add(123);//自动装箱 所以可以放进Object里
        coll.add(new Date());
        //size():获取添加的元素的个数
        System.out.println(coll.size());//4

        //addAll():将cool1集合中的元素添加到当前集合中
        Collection coll1 = new ArrayList();
        coll1.add(456);
        coll1.add("cc");
        coll.addAll(coll1);
        System.out.println(coll.size());//6
        System.out.println(coll);//ArrayList里有toString方法

        //clear():清空集合元素
        coll.clear();

        //isEmpty():判断当前集合是否为空
        System.out.println(coll.isEmpty());

    }
}