java.util包详解——Connection接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.util包详解——Connection接口相关的知识,希望对你有一定的参考价值。

Connection接口介绍

  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<E> iterator();//返回集合对应的迭代器(这是由于Connection继承了Iterable接口)
Object[] toArray();//将集合转化为数组
<T> T[] toArray(T[] a);//将集合转化为数组,并保持输入的类型
/**
* 操作类方法
**/
boolean add(E e);
boolean addAll(Collection<? extends E> c);
boolean remove(Object o);
boolean removeAll(Collection<?> c);
boolean removeIf(Predicate<? super E> filter);//此方法有默认实现
boolean retainAll(Collection<?> c);//仅保留参数中的元素
void clear();

 

以上是关于java.util包详解——Connection接口的主要内容,如果未能解决你的问题,请参考以下文章

java.util.concurrent.atomic 包详解

java中的import的使用详解

IteratorIterable接口的使用及详解

Connection和Connections

TCP三次握手详解,滑动窗口,网络包路由过程,全连接队列,半连接队列

小记:Windows redis引发的一场血案(Cannot get Jedis connection&&java.util.NoSuchElementException Unable