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操作
浙公网安备 33010602011771号