美文网首页JAVA学习合集
JAVA学习-集合类-Collection接口概述

JAVA学习-集合类-Collection接口概述

作者: Renaissance_ | 来源:发表于2019-01-16 19:53 被阅读0次

    Java集合类在日常工作中经常用到,因此需要熟练掌握不同集合类的特性以及区别

    Collection

    Collection接口位于Java.util包下的集合类根接口,Collection接口继承Iterator,继承了Iterator允许通过foreach进行遍历。Collection接口作为集合类的父接口,定义了一些集合使用到的基本方法。

    接口关系总览图.jpg
    • 添加方法
    #往集合里面添加一个元素
    boolean add(E o);
    
    #往集合里添加指定集合的所有元素
    boolean addAll(Collection<? extends E> c);
    
    
    • 移除方法
    #移除某个对象元素
    boolean remove(Object o);
    
    #移除指定集合里面的元素,只要一个被移除了,就返回true
    boolean removeAll(Collection<?> c);
    
    #移除所有的元素
    void clear();
    
    
    • 判断方法
    #是否包含指定集合的全部元素
    boolean containsAll(Collection<?> c);
    
    #是否包含某个对象元素
    boolean contains(Object o);
    
    #是否为空判断
    boolean isEmpty();
    
    
    • 返回大小
    #返回集合元素的数量
    #如果最大值超过Integer.MAX_VALUE,则返回Integer.MAX_VALUE
    
    int size();
    
    • 交集方法
    #集合a和集合c的交集元素保存在集合a中,有交集返回true,没有交集返回false
    boolean retainAll(Collection<?> c);
    
    • 转成数组方法
    #将集合元素转成对象数组
    Object[] toArray();
    
    • 遍历方法
    # 返回集合的迭代对象,继承自Iterator接口  
    Iterator<E> iterator();
    

    List集合介绍

    List集合直接继承了Collection接口,增加许多方法。List接口定义中指出,List集合是一个有序(存取顺序和取出顺序一致),允许重复元素的集合接口,可以通过索引查找元素,替换元素的集合接口。

    根据以上的接口属性,派生出了许多实现类类供我们使用。经常用的List实现类有三种,ArrayList,LinkedList, Vector。

    • ArrayList :底层是数组,线程不安全
    • LinkedList : 底层是链表,线程不安全
    • Vector : 底层是数组,线程安全

    再接下来的博文中会详细探讨这三种集合的具体实现。

    Set集合介绍

    Set集合直接继承了Collection接口,不同于List集合,Set集合不允许重复元素,所以至多只有一个null元素。Set集成常见的实现类有:

    • HashSet: 通过哈希表实现(数组加链表)
    • LinkedHashSet: 底层数据结构式哈希表和链表
    • TreeSet: 底层数据结构是红黑树

    总结

    本文主要介绍了Collection接口的主要方法和主要子类,作为集合类的根接口,熟悉Collection的方法对我们日常使用集合类挺重要的。

    相关文章

      网友评论

        本文标题:JAVA学习-集合类-Collection接口概述

        本文链接:https://www.haomeiwen.com/subject/zelvdqtx.html