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

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

Collection

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

JAVA学习-集合类-Collection接口概述_第1张图片
接口关系总览图.jpg
  • 添加方法
#往集合里面添加一个元素
boolean add(E o);

#往集合里添加指定集合的所有元素
boolean addAll(Collection 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 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接口概述)