程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中Set與List的關系與差別引見

Java中Set與List的關系與差別引見

編輯:關於JAVA

Java中Set與List的關系與差別引見。本站提示廣大學習愛好者:(Java中Set與List的關系與差別引見)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中Set與List的關系與差別引見正文


兩個接口都是繼續自Collection.

List (inteface)

順序是List 的最主要特色,它確保保護元素特定的次序.
--ArrayList 許可對元素疾速隨機拜訪.
--LinkedList 對次序拜訪停止優化,向List 中央拔出與移除的開支其實不年夜,具有addFrist(),addLast(),getFirst,getLast,removeFirst和removeLast().這些辦法使得LinkedList可看成客棧/隊列/雙向隊列.

Set (inteface)

存入Set 的每一個元素必需獨一,不包管保護元素的順序.參加Set 的Object必需界說equals()辦法
--HashSet 為疾速查找而設計的Set ,存入HashSet對象必需界說hashCode().
--TreeSet  掩護順序的Set ,應用它可以從Set 中提取有序序列.
--LinkedHashSet  具有HashSet的查詢速度,且外部應用鏈表保護元素的順序.

它們之間的存儲方法紛歧樣:

TreeSet采取紅黑樹的樹據構造排序元素.
HashSet采取散列函數,這是專門為疾速查詢而設計的.
LinkedHashSet外部應用散列以加速查詢速度,同時應用鏈表保護元素的順序.

應用HashSet/TreeSet時,必需為類界說equals();而HashCode()是針對HashSet,作為一種編程作風,當籠罩equals()的時刻,就應當同時籠罩hashCode().

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved