Collection接口是 (java.util.Collection)是Java集合类的顶级接口之一,整个集合框架就围绕一组标准接口而设计,今天学习了一下Collection自带的一些方法,回头再重新学习一下他的子类型集合,什么List、Set还有Queue。

1.size(int类型)

  size的作用就是返回此集合中的元素数量。如果此集合包含超过Integer.MAX_VALUE元素,返回Integer.MAX_VALUE。

  用法:

int a = collection.size();

2.isEmpty(boolean类型)

  isEmpty的作用就是用来判断集合中是否包含元素,如果不包含元素,则返回true;否则返回false。

  用法:

boolean a = collection.isEmpty();

3.contains(boolean类型)

  contains的作用是如果此collection包含指定的元素,就返回true。其中o就表示指定的元素。

  用法:

boolean a = collection.contains(o)

  一些可能会触发的异常:

    ClassCastException - 如果指定元素的类型与此集合不兼容

    NullPointerException - 如果指定的元素为null且此collection不允许null元素

4.iterator

  iterator是迭代器,用来对collection进行遍历(返回集合中的元素,下次会单独说)。

5.toArray

  <T> T[] toArray(T[] a)

  返回一个包含此collection中所有元素的数组,返回数组的类型是指定数组的运行时类型。如果集合适合指定的数组,则返回其中。 否则,将使用指定数组的运行时类型和此集合的大小分配新数组。如果集合适合指定的数组返回以后还有空余空间(数组元素多于这个集合),则数组中的最后一个元素将设置为null。

   Object[] toArray()

  返回包含此集合中所有元素的数组。 如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同的顺序返回元素。 返回数组是Object。

6.add(boolean类型)

  用于向此集合中添加指定的元素,若指定元素集合改变了则返回true(可以理解为添加进去以后这个集合不就多了一个元素,集合不就被改变了)。支持此操作的集合可能会限制可能添加到此集合的元素。 特别是,某些集合将拒绝添加null元素,而其他集合将对可能添加的元素类型施加限制。 集合类应在其文档中明确指出可以添加哪些元素的任何限制。如果集合因为已经包含元素的原因而拒绝添加特定元素,则它必须抛出异常(而不是返回false )。 这保留了在此调用返回后集合始终包含指定元素的不变量。

  一些异常:

    UnsupportedOperationException - 如果此集合不支持 add操作

    ClassCastException - 如果指定元素的类阻止将其添加到此集合中

    NullPointerException - 如果指定的元素为null且此collection不允许null元素

    IllegalArgumentException - 如果元素的某些属性阻止将其添加到此集合中

    IllegalStateException - 如果由于插入限制而无法在此时添加元素

7.remove(boolean类型)

  从此集合中移除指定元素,如果此集合包含指定元素,则返回true。其中o代表要从此集合中删除的元素(如果存在)。

  用法:

boolean a = collection.remove(o)

  一些可能会出现的异常:

    ClassCastException - 如果指定元素的类型与此集合不兼容

    NullPointerException - 如果指定的元素为null且此collection不允许null元素  

    UnsupportedOperationException - 如果此集合不支持remove操作

8.containsAll(boolean类型)

  如果此集合包含指定集合中的所有元素,则返回true。c表示指定集合

  用法:

boolean a = collection.containsAll(Collection<?> c);

  一些可能会出现的异常:

    ClassCastException - 如果指定集合中的一个或多个元素的类型与此集合不兼容

    NullPointerException - 如果指定的集合包含一个或多个null元素,并且此集合不允许null元素,或者指定的集合为null。

9.addAll(boolean类型)

  将指定集合中的所有元素添加到此集合中,如果集合因而改变就返回true。c表示指定集合

  用法:

boolean a = collection.addAll(Collection<?> c);

  一些可能会出现的异常:

    UnsupportedOperationException - 如果此集合不支持 addAll操作

    ClassCastException - 如果指定集合的元素的类阻止将其添加到此集合中

    NullPointerException - 如果指定的集合包含null元素,并且此集合不允许null元素,或者指定的集集合为null

    IllegalArgumentException - 如果指定集合的某个元素的某些属性阻止将其添加到此集合中 

    IllegalStateException - 如果不是因为插入限制,此时可以添加所有元素

9.removeAll(boolean类型)

  删除所有元素,指定集合中的所有元素。如果集合因此改变则返回ture。c表示指定集合

  用法:

boolean a = collection.removeAll(Collection<?> c);

  一些可能会出现的异常:

    UnsupportedOperationException - 如果此集合不支持 removeAll方法

    ClassCastException - 如果此集合中的一个或多个元素的类型与指定的集合不兼容

    NullPointerException - 如果此集合包含一个或多个null元素且指定的集合不支持null元素,或者指定的集合为null

10.removeIf(boolean类型)

  删除此集合中满足给定谓词的所有元素,他是在JDK1.8以后开始使用的。下面的实例中谓词就是integer%2==0,下面的意思就是删除integer%2==0的值。

  用法:

collection.removeIf(integer-> integer% 2 == 0);

  一些可能会出现的异常:

    NullPointerException - 如果指定的过滤器为null

    UnsupportedOperationException - 如果无法从此集合中删除元素。 如果无法删除匹配元素或者通常不支持删除,则实现可能会抛出此异常。

11.retainAll(boolean类型)

  仅保留此集合中包含在指定集合中的元素(可选操作)。 换句话说,从此集合中删除未包含在指定集合中的所有元素。

  用法:

boolean a = collection.retainAll(Collection<?> c);

  一些可能会出现的异常:

    UnsupportedOperationException - 如果此集合不支持 retainAll操作

    ClassCastException - 如果此集合中的一个或多个元素的类型与指定的集合不兼容( optional )

    NullPointerException - 如果此集合包含一个或多个null元素且指定的集合不允许null元素,或者指定的集合为null

12.clear(void类型)

  从此集合中删除所有元素。该方法返回后,该集合将为空

  用法:

collection.clear();

  一些可能出现的异常:

    UnsupportedOperationException - 如果此集合不支持 clear操作