List相关

来源:互联网 发布:刷信誉平台源码 编辑:程序博客网 时间:2024/06/11 19:19

List中判断两个元素相等的依据是equals返回true,在indexofremove方法中都有所体现。

源代码:

if(o.equals(elementData[i]))

        return i;

 

AbstractList抽象类实现了List接口,但是其执行add remove操作会抛出UnsupportedOperationException,实现的源代码为:

    public E remove(int index) {

        thrownewUnsupportedOperationException();

}

所以所有继承AbstractList并没有重写addremove的类都不能执行addremove操作,Arrays.asList方法返回的是Arrays$ArrayList类,就是属于这种情况,所以它不能addremove,称之为固定长度的List

 

Queue

有六个方法,但其实就三个方法:

1. 增加 offeradd

2.   获取队头 peek(偷看,一瞥)和 element

3.   删除队头 poll(投票,剪短)和 remove

前面的方法优与后面的方法在队列容量有限制的时候add可能抛出异常,offer不会,在空队列的情况下,peek poll返回null elementremove抛出异常。

 

Deque(双端队列)两个实现类 ArrayDeque   LinkedList(同时实现了List接口)

双端队列可以模拟出栈的效果。

0 0
原创粉丝点击