jsp ArrayList和LinkedList的區別及ArrayList的特點

來源:互聯網
上載者:User

網頁特效phttp://www.111cn.net/網頁特效p.html target=_blank >jsp教程 arraylist和linkedlist的區別及arraylist的特點

arraylist)  
private transient object[] elementdata;   


 
//………………………………………………………………………………   
 

(linkedlist)  
private transient entry<e> header = new entry<e>(null, null, null);/鏈表頭   


 
//內部鏈表類.  

private static class entry<e> {  
    e element; //資料元素  
    entry<e> next; // 前驅  
    entry<e> previous;//後驅  
    entry(e element, entry<e> next, entry<e> previous) {  
        this.element = element;  
        this.next = next;  
        this.previous = previous;  
    }  
}   

 
/*
毫無疑問,第一點就是兩者的內部資料結構不同, arraylist內部元素容器是一個object的數組,
 而linkedlist內部實際上一個鏈表的資料結構,其有一個內部類來表示鏈表.
 兩者的父類不同,也就決定了兩者的儲存形式不同。 arraylist繼承於 abstractlist,而linkedlist繼承於abstractsequentiallist. 兩者都實現了list的骨乾結構,只是前者的訪問形式趨向於 "隨機訪問"資料存放區(如數組),後者趨向於 "連續訪問"資料存放區(如連結清單)

*/

public class arraylist<e> extends abstractlist<e> 
public class linkedlist<e> extends abstractsequentiallist<e> 


/*
再有就是兩者的效率問題, arraylist基於數組實現,所以毫無疑問可以直接用下標來索引,其索引資料快,插入元素設計到數組元素移動,或者數組擴充,所以插入元素要慢。linkedlist基於鏈表結構,插入元素只需要改變插入元素的前後項的指向即可,故插入資料要快,而索引元素需要向前向後遍曆,所以索引元素要慢。
*/

public void ensurecapacity(int mincapacity) {  
        modcount++;  
        int oldcapacity = elementdata.length;  
        if (mincapacity > oldcapacity) {  
            object olddata[] = elementdata;  
             //這裡擴充的大小為原大小的大概 60%  
            int newcapacity = (oldcapacity * 3) / 2 + 1;  
            if (newcapacity < mincapacity)  
                newcapacity = mincapacity;  
            //建立一個指定大小的新數組來覆蓋原數組  
            elementdata = arrays.copyof(elementdata, newcapacity);  
        }  
    }   
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.