AbstractSequentialList说明

原创 2004年09月18日 11:20:00

AbstractSequentialList也是一个抽象类,它的声明如下:

public abstract class AbstractSequentialList extends AbstractList
有关AbstractList:http://blog.csdn.net/treeroot/archive/2004/09/14/104743.aspx

这个类的代码比较简单

public Object get(int index) {
  ListIterator e = listIterator(index);
  try {
    return(e.next());
  } catch(NoSuchElementException exc) {
    throw(new IndexOutOfBoundsException("Index: "+index));
  }
}

public Object set(int index, Object element) {
  ListIterator e = listIterator(index);
  try {
    Object oldVal = e.next();
    e.set(element);
    return oldVal;
  } catch(NoSuchElementException exc) {
    throw(new IndexOutOfBoundsException("Index: "+index));
  }
}

public void add(int index, Object element) {
  ListIterator e = listIterator(index);
  e.add(element);
}

public Object remove(int index) {
  ListIterator e = listIterator(index);
  Object outCast;
  try {
    outCast = e.next();
  } catch(NoSuchElementException exc) {
    throw(new IndexOutOfBoundsException("Index: "+index));
  }
  e.remove();
  return(outCast);
}

public boolean addAll(int index, Collection c) {
  boolean modified = false;
  ListIterator e1 = listIterator(index);
  Iterator e2 = c.iterator();
  while (e2.hasNext()) {
    e1.add(e2.next());
    modified = true;
  }
  return modified;
}

public Iterator iterator() {
  return listIterator();
}

public abstract ListIterator listIterator(int index);

注意到所有的方法都使用迭代器,明显设计的不好,没有做到fast-fail,应该是先简单是否越界
不过子类都会重写这些方法。由于这些代码都比较简单,前面的一些类中也有类似的情况,这里只是
提供一个通用的实现,这里列出来只是为了方便分析LinkedList,因为LinkedList是它的子类。

Java 集合深入理解(8):AbstractSequentialList

点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~AbstractSequentialList 没有什么特别的,这里介绍是为了理解 LinkedList 更容易。什么是 Ab...
  • u011240877
  • u011240877
  • 2016年10月19日 00:31
  • 2389

源码分析-java-AbstractSequentialList

AbstractSequentialListAPI文档这个类提供了一个基本的List接口实现,为实现序列访问的数据储存结构的提供了所需要的最小化的接口实现。对于支持随机访问数据的List比如数组,应该...
  • u011518120
  • u011518120
  • 2016年07月19日 17:28
  • 1048

Java集合之AbstractSequentialList

public abstract class AbstractSequentialList extends AbstractList {//继承AbstractList JDK1.7 java.ut...
  • Hello_zihan
  • Hello_zihan
  • 2016年11月01日 17:31
  • 115

AbstractSequentialList

http://baike.baidu.com/link?url=cgp309y1H7qIV-RDYkPoX0mlPqsBHu77Piext9popILLppM1kd-6_xupp3lIpJik
  • HUIQQ0927
  • HUIQQ0927
  • 2013年11月11日 11:49
  • 274

AbstractSequentialList抽象类源码解析

所在包package java.util;继承AbstractList抽象类public abstract class AbstractSequentialList extends AbstractL...
  • qunxingvip
  • qunxingvip
  • 2016年07月15日 19:01
  • 981

AbstractSequentialList源码分析

此类提供了 List 接口的骨干实现,从而最大限度地减少了实现受“连续访问”数据存储(如链接列表)支持的此接口所需的工作。对于随机访问数据(如数组),应该优先使用AbstractList,而不是先使用...
  • liuhuanchao
  • liuhuanchao
  • 2016年05月04日 14:26
  • 255

解析java.util集合类源码(AbstractSequentialList)

抽象类AbstractSequentialList AbstractSequentialList继承AbstractList,对其中的方法进行再抽象,不同于动态数组列表ArrayList 先看一下...
  • whx750702272
  • whx750702272
  • 2014年01月23日 09:39
  • 583

java集合分析(8):AbstractSequentialList

什么是AbstractSequentialListAbstractSequentialList 继承自 AbstractList,是 LinkedList 的父类,它只支持按次序访问,而不像 Abst...
  • qq15357971925
  • qq15357971925
  • 2017年11月20日 16:34
  • 83

JDK源码阅读之List和AbstractSequentialList

List是有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 Abstr...
  • u013702678
  • u013702678
  • 2014年03月26日 17:43
  • 1105

共同学习Java源代码--数据结构--AbstractSequentialList类

public abstract class AbstractSequentialList extends AbstractList  这是一个抽象类,继承自AbstractList,是LinkedLi...
  • ccdust
  • ccdust
  • 2016年08月15日 20:18
  • 268
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AbstractSequentialList说明
举报原因:
原因补充:

(最多只允许输入30个字)