WEB开发网
开发学院软件开发Java 集合类库(一):集合类库的基本框架 阅读

集合类库(一):集合类库的基本框架

 2009-09-18 00:00:00 来源:WEB开发网   
核心提示: AbstractList (抽象类) 此类提供了List接口的骨干实现,也就是对List接口中大部分方法确定了实现途径和策略,集合类库(一):集合类库的基本框架(3),比如上面的add(E o)方法被实现为:在当前List的末尾添加新数据, Java代码//在List的末尾插入新数据opubl

AbstractList (抽象类)

此类提供了List接口的骨干实现,也就是对List接口中大部分方法确定了实现途径和策略。比如上面的add(E o)方法被实现为:在当前List的末尾添加新数据。  

Java代码   

//在List的末尾插入新数据o 
public boolean add(E o) { 
 add(size(), o); //实际上就是在列表最后一个元素之后插入,列表和数组一样从0开始索引   
 return true; 
} 
//在列表的index位置之前插入数据element 
//具体实现由具体类来提供 
public void add(int index, E element) { 
 throw new UnsupportedOperationException(); 
}

这里需要注意,AbstractList类的add(E o)方法只是提供了实现的途径和策略,其add(int index,E element)方法并没有具体实现,而是等待着子类来扩展。也就是说,如果子类扩展了add(int index,E element)的实现,就可以调用add(E o)方法来完成操作了。下面我们会看到:

LinkedList (标准具体类)

此类是JDK中具体的标准集合类,用来提供链表操作。

Java代码   

public boolean add(E o) { 
    //在头接点之前插入 
    //由于LinkedList是双重循环列表,所以也就是插在了末尾。 
 addBefore(o, header);     
    return true; 
} 
private Entry<E> addBefore(E o, Entry<E> e) { 
 ….. 
} 
//插入列表中的随机位置 
//具体覆盖了AbstractList中的add(int , E)方法 
public void add(int index, E element) {  
    addBefore(element, (index==size ? header : entry(index))); 
} 

上一页  1 2 3 4  下一页

Tags:集合 集合 基本

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接