javaconnection包_java.util包详解(⼆)——Connection接⼝Connection接⼝介绍java接口有没有构造方法
Connection接⼝是java集合的root接⼝,没有实现类,只有⼦接⼝和实现⼦接⼝的各种容器。主要⽤来表⽰java集合这⼀⼤的抽象概念。
Connection接⼝要求,所有实现此接⼝的容器,必须提供⾄少两种构造⽅法:⽆参构造⽅法、参数为Connection类的构造⽅法。后者需要创建⼀个具有和参数包含元素相同的新集合,以此来进⾏集合的复制。java中所有的api均遵守了此规则。
如果集合不⽀持某种修改⽅式,那么进⾏这种修改操作的⽅法必须抛出UnsupportedOperationException异常。但是,如果这次修改并没有实际效果(⽐如往⼀个集合⾥新增⼀个空集合),集合可能不会抛出此异常。
对于某些集合,他们对⾃⼰能容纳的元素有限制,尝试进⾏添加操作时可能会抛出unchecked Exception,如NullPointerException或者ClassCastException。⽽在查询时,集合可能会抛出异常,也可能直接返回⼀个false表⽰失败,这取决于集合⾃⾝的实现。
对于集合中元素的⽐较,集合可能使⽤equals⽅法,也有可能使⽤hashCode⽅法,这取决于集合的实现。不能简单的认为集合⼀定会调⽤equals⽅法,集合可能会使⽤任意⼀种Object提供的合适⽅法进⾏元素的⽐较。
另外,当集合包含的元素中有⾃⾝时,调⽤集合的clone()、hashCode()、equals()、toString()⽅法可能会失败并抛出异常,因为这导致了递归调⽤。集合可以⾃⼰处理这种异常,但是⽬前实现的集合都没有进⾏处理。
Connection包含的⽅法
/*** 判断类⽅法
**/
int size();//返回集合包含的元素,若⼤于Integer.MAX_VALUE,返回Integer.MAX_VALUE
boolean isEmpty();//集合为空时返回true
boolean contains(Object o);//集合包含o时返回true,可能会抛出ClassCastException和NullPointerException异常
boolean containsAll(Collection>c);/*** 转化类⽅法
**/Iterator iterator();//返回集合对应的迭代器(这是由于Connection继承了Iterable接⼝)
Object[] toArray();//将集合转化为数组
T[] toArray(T[] a);//将集合转化为数组,并保持输⼊的类型/*** 操作类⽅法
**/
booleanadd(E e);boolean addAll(Collection extends E>c);booleanremove(Object o);boolean removeAll(Collection>c);boolean removeIf(Predicate super E> filter);//此⽅法有默认实现
boolean retainAll(Collection> c);//仅保留参数中的元素
void clear();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论