List相关

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接口)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值