欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

集合 集合框架 *父接口(Collection) Collections工具类

程序员文章站 2024-01-18 22:05:58
...

集合:存储多个对象的单一容器,元素即对象,为引用类型
PS:容器存对象的地址

与数组的区别:
    数组(也是容器,即数据结构,存多个数据):存基本数据类型,引用数据类型
    集合(也是容器,即数据结构,存多个数据):存引用数据类型

集合框架:
包含多种接口,抽象类,实现类供我们存储数据的数据结构

Collection(集合框架*父接口,用于定义集合框架中常用抽象方法,所以子类必须实现对应方法)
Collections:集合工具类,定义了多种可操作对象的集合对象的方法


Collection c = new ArrayList();//创建数组,向上造型
c.add(new Integer("100"));
c.add(100);
c.add(new Person("张三",99));

Collection<String> c = new ArrayList<String>();//创建集合,向上造型
/*当规定了泛型,在存储元素时,类型要匹配*/
    c.add("张三");

boolean    add(E e):将对象e添加到集合中

int        size()返回集合元素个数

        /*size 返回集合中的元素个数*/
        System.out.println(c.size());

boolean    addAll(Collection c) 将集合c里元素添加到此集合(默认在集合里追加 c为集合)
        //将c1中元素添加到c中
        c.addAll(c1);

void       clear()  清空集合元素
        //将c1中的元素清空
        c1.clear();

boolean    contains(Object obj)判断集合是否存在元素 obj为元素
        //查看集合c中是否包含元素java
        System.out.println(c.contains("java"));//元素调了equels方法

boolean    containAll(Collection c)判断集合中是否包含集合c所有元素

boolean    isEmpty(): 用于判断集合元素是否为空
        //查看集合c1的元素是否为空
        System.out.println(c1.isEmpty());
boolean    remove(Object o)移除集合中元素o
        //移除集合中java元素
        boolean f = c.remove("java");
        System.out.println("是否移除成功:"+f);
        System.out.println(c);

boolean    removeAll(Collection c)移除共有元素  c为集合
        //保留c2中与c1的共有元素
        c1.retainAll(c2);
boolean    returnAll(Collection c)保留共有元素  c为元素


    //想使用数组元素是必须强制转换 相对麻烦
    Object[] obj = c2.toArray();
    System.out.println(((String)obj[1]).length());


集合转数组 toArrays  

    /*为了避免强制性转换,调用重载方法,传一个元素类型的数组即可*/  
    String[] arr = c2.toArray(new String[0]);
    System.out.println(arr[1].length());