Java集合架構(一、List、Set)

來源:互聯網
上載者:User

     這兩天看了下Java的集合架構,還沒看完,做下階段性的總結吧。

     Java的集合架構有List、Map、Set,List和Set都擴充了Collection。

     Set不能包含重複的元素,它的具體實現子類包括HashSet、LinkedHashSet、TreeSet。

      其中HashSet和LinkedHashSet的元素必須實現hashCode方法,HashSet的元素是沒有順序的,LinkedHashSet可按元素存放進去的順序提取,如果沒有特殊提取要求一般用HashSet,因為它的效率比較高。TreeSet的元素必須實現Comparator(compare方法)或Comparable(compareTo方法)介面,它可以對存進去的元素進行排序。

      List可以包含重複元素,它的具體實現子類包括ArrayList、LinkedList、Vector、Stack。

      ArrayList是將元素儲存在一個動態數組中,而LinkedList是用鏈表格儲存體元素,所以如果只在List的尾部進行插入刪除操作,要經常按索引位置找某個元素的話使用ArrayList的效率比較高;而要經常在List中間進行插入刪除操作的則使用LinkedList的效率比較高,可以使用其listIterator方法產生其元素的ListIterator,可以向前或向後遍曆其元素。

      Vector跟ArrayList差不多,只不過它是多了個訪問和修改向量的同步方法,其addElement方法是同步的,如果不需要同步,使用ArrayList的效率比較高。Stack擴充了Vector,不名思意是一個堆棧,有isEmpty、peek、pop、push、search方法。

      暫時學了這些東西,待續。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.