java集合分類
阿新 • • 發佈:2018-07-12
工具類 mon 內存 mmap prope hashset 但是 java 滿了
Java集合分類:
- List
- Set
- Map
- Queue
- 數組
- 工具類
- 擴展類
List:
- ArrayList :動態數組。
- LinkedList:雙向鏈表。
- Vector:線程安全的動態數組。
- Stack:對象棧,遵循先進後出的原則。
Set:
- EnumSet:枚舉類型專用Set,所有元素都是枚舉類型。
- HashSet:以哈希碼決定元素位置的set
- TreeSet:插入時會自動排序的set,但是如果中途修改元素大小,則不會再修改後重新排序,只會在插入時排序。
Map:
- TreeMap :自動排序map,根據key值自動排序。
- HashMap:Entry數組,以key的哈希碼決定元素位置,所以,要保證key的哈希碼不一致,如果碰到值不同但哈希碼相同的key,會以單向鏈表擴展
- HashTable:線程安全的
- Properties:HashTable的子類,從Property文件中加載數據,並提供方便的讀寫操作。
- EnumMap:Key必須是枚舉類型。
Queue:
- 阻塞式隊列,滿了以後再插入元素會拋出異常;
- ArrayBlockingQueue :以數組方式實現。
- PriorityBlockingQueue:依照優先級組件的隊列。
- LinkedBlockingQueue:通過鏈表實現。
- 非阻塞隊列,無邊界,只要內存允許,可以持續追加。
- PriorityQueue
- 雙端隊列,支持在頭尾兩端插入和移除元素。而上面的阻塞隊列和非阻塞隊列都時單端隊列,只能在一端插入,另一端刪除。
- ArrayDeque
- LinkedBlockingDeque
- LinkedList
工具類:
- 數組工具類
- java.util.Arrays
- java.lang.reflect.Array
- 集合工具類
- java.util.Collections
擴展類:
可以自己寫一個List,或使用第三方實現例如:
- Apache的Commons-collections擴展包
- Google的google-collections擴展包
java集合分類