分享
 
 
 

AbstractSequentialList

王朝百科·作者佚名  2010-01-10
窄屏简体版  字體: |||超大  

java.util

类 AbstractSequentialList<E>

java.lang.Object

java.util.AbstractCollection<E>

java.util.AbstractList<E>

java.util.AbstractSequentialList<E>

所有已实现的接口:

Iterable<E>, Collection<E>, List<E>

直接已知子类:

LinkedList

--------------------------------------------------------------------------------

public abstract class AbstractSequentialList<E>extends AbstractList<E>此类提供了 List 接口的骨干实现,从而最大限度地减少了实现受“连续访问”数据存储(如链接列表)支持的此接口所需的工作。对于随机访问数据(如数组),应该优先使用 AbstractList,而不是先使用此类。

从某种意义上说,此类与在列表的列表迭代器上实现“随机访问”方法(get(int index)、set(int index, Object element)、set(int index, Object element)、add(int index, Object element) 和 remove(int index))的 AbstractList 类相对立,而不是其他关系。

要实现一个列表,程序员只需要扩展此类,并提供 listIterator 和 size 方法的实现即可。对于不可修改的列表,程序员只需要实现列表迭代器的 hasNext、next、hasPrevious、previous 和 index 方法即可。

对于可修改的列表,程序员应该再另外实现列表迭代器的 set 方法。对于可变大小的列表,程序员应该再另外实现列表迭代器的 remove 和 add 方法。

按照 Collection 接口规范中的推荐,程序员通常应该提供一个 void(无参数)构造方法和 collection 构造方法。

此类是 Java Collections Framework 的成员。

从以下版本开始:

1.2

另请参见:

Collection, List, AbstractList, AbstractCollection

--------------------------------------------------------------------------------

字段摘要

从类 java.util.AbstractList 继承的字段

modCount

构造方法摘要

protected AbstractSequentialList()

单独的构造方法。

方法摘要

void add(int index, E element)

在此列表中的指定位置上插入指定的元素。

boolean addAll(int index, Collection<? extends E> c)

在此列表中指定的位置上插入指定 collection 中的所有元素。

E get(int index)

返回此列表中指定位置上的元素。

Iterator<E> iterator()

返回在此列表中的元素上进行迭代的迭代器(按适当顺序)。

abstract ListIterator<E> listIterator(int index)

返回在此列表中的元素上进行迭代的列表迭代器(按适当顺序)。

E remove(int index)

移除此列表中指定位置上的元素。

E set(int index, E element)

用指定的元素替代此列表中指定位置上的元素。

从类 java.util.AbstractList 继承的方法

add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList

从类 java.util.AbstractCollection 继承的方法

addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString

从类 java.lang.Object 继承的方法

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

从接口 java.util.List 继承的方法

addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray

构造方法详细信息

AbstractSequentialList

protected AbstractSequentialList()单独的构造方法。(由子类构造方法调用,通常是隐式的。)

方法详细信息

get

public E get(int index)返回此列表中指定位置上的元素。

此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后它使用 ListIterator.next 获得该元素并返回它。

指定者:

接口 List<E> 中的 get

指定者:

类 AbstractList<E> 中的 get

参数:

index - 要返回的元素的索引。

返回:

此列表中指定位置上的元素。

抛出:

IndexOutOfBoundsException - 如果指定的索引超出范围 (index < 0 || index >= size())。

--------------------------------------------------------------------------------

set

public E set(int index,

E element)用指定的元素替代此列表中指定位置上的元素。

此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后它使用 ListIterator.next 获得当前元素,并使用 ListIterator.set 替代它。

注意,如果列表迭代器没有实现 set 操作,则此实现抛出 UnsupportedOperationException。

指定者:

接口 List<E> 中的 set

覆盖:

类 AbstractList<E> 中的 set

参数:

index - 要替代的元素的索引。

element - 将存储在指定位置上的元素。

返回:

以前位于指定位置上的元素。

抛出:

UnsupportedOperationException - 如果此列表不支持 set 操作。

NullPointerException - 此列表不允许 null 元素,并且 c 中的某个元素为 null。

ClassCastException - 指定元素的类不允许它添加到此列表中。

IllegalArgumentException - 指定元素的某方面不允许它添加到此列表中。

IndexOutOfBoundsException - 索引超出范围 (index < 0 || index >= size())。

IllegalArgumentException - 如果 fromIndex > toIndex。

--------------------------------------------------------------------------------

add

public void add(int index,

E element)在此列表中的指定位置上插入指定的元素。向右移动当前位于该位置上的元素(如果有)以及所有后续元素(将其索引加 1)。

此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后它使用 ListIterator.add 插入指定的元素。

注意,如果列表迭代器没有实现 add 操作,则此实现抛出 UnsupportedOperationException。

指定者:

接口 List<E> 中的 add

覆盖:

类 AbstractList<E> 中的 add

参数:

index - 指定元素所插入位置的索引。

element - 要插入的元素。

抛出:

UnsupportedOperationException - 如果此列表不支持 add 操作。

NullPointerException - 此列表不允许 null 元素,并且 c 中的某个元素为 null。

ClassCastException - 如果指定元素的类不允许它添加到此列表中。

IllegalArgumentException - 如果指定元素的某方面不允许它添加到此列表中。

IndexOutOfBoundsException - 如果指定的索引超出范围 (index < 0 || index > size())。

--------------------------------------------------------------------------------

remove

public E remove(int index)移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。

此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后它使用 ListIterator.remove 移除该元素。

注意,如果列表迭代器没有实现 remove 操作,则此实现抛出 UnsupportedOperationException。

指定者:

接口 List<E> 中的 remove

覆盖:

类 AbstractList<E> 中的 remove

参数:

index - 要从列表中移除的元素的索引。

返回:

从列表中移除的元素。

抛出:

UnsupportedOperationException - 如果此列表不支持 remove 操作。

IndexOutOfBoundsException - 如果指定的索引超出范围 (index < 0 || index > =size())。

--------------------------------------------------------------------------------

addAll

public boolean addAll(int index,

Collection<? extends E> c)在此列表中指定的位置上插入指定 collection 中的所有元素。向右移动当前位于该位置上的元素(如果有)以及所有后续元素(增加其索引)。新元素将按指定 collection 的迭代器所返回的顺序出现在列表中。如果正在进行此操作时修改指定的 collection,则此操作行为是未指定的。(注意,如果指定的 collection 是此列表并且是非空的,则会发生这种情况。)可选操作。

此实现获得指定 collection 的迭代器,以及此列表指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后,它在指定的 collection 上进行迭代,通过使用 ListIterator.next 之后紧接着使用 ListIterator.add 方法(以跳过添加的元素),把从迭代器中获得的元素逐个插入此列表中。

注意,如果 listIterator 方法返回的列表迭代器没有实现 add 操作,则此实现抛出 UnsupportedOperationException。

指定者:

接口 List<E> 中的 addAll

覆盖:

类 AbstractList<E> 中的 addAll

参数:

index - 插入指定 collection 中第一个元素的位置索引。

c - 要插入到此列表的元素。

返回:

如果此列表由于此方法的调用而发生改变,则返回 true。

抛出:

UnsupportedOperationException - 如果此列表不支持 addAll 操作。

NullPointerException - 如果此列表不允许 null 元素,并且指定 collection 中的某个元素为 null。

ClassCastException - 如果指定元素的类不允许它添加到此列表中。

IllegalArgumentException - 如果指定元素的某方面不允许它添加到此列表中。

IndexOutOfBoundsException - 如果指定的索引超出范围 (index < 0 || index > size())。

NullPointerException - 如果指定的 collection 为 null。

--------------------------------------------------------------------------------

iterator

public Iterator<E> iterator()返回在此列表中的元素上进行迭代的迭代器(按适当顺序)。

此实现仅返回列表的一个列表迭代器。

指定者:

接口 Iterable<E> 中的 iterator

指定者:

接口 Collection<E> 中的 iterator

指定者:

接口 List<E> 中的 iterator

覆盖:

类 AbstractList<E> 中的 iterator

返回:

在此列表中的元素上进行迭代的迭代器(按适当顺序)。

另请参见:

AbstractList.modCount

--------------------------------------------------------------------------------

listIterator

public abstract ListIterator<E> listIterator(int index)返回在此列表中的元素上进行迭代的列表迭代器(按适当顺序)。

指定者:

接口 List<E> 中的 listIterator

覆盖:

类 AbstractList<E> 中的 listIterator

参数:

index - 从列表迭代器返回(通过调用 next 方法)的第一个元素的索引

返回:

在此列表中的元素上进行迭代的列表迭代器(按适当顺序)。

另请参见:

AbstractList.modCount

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有