關於集合類以前忘記的時候總是去翻書,現在想寫成部落格加深印象。
提到集合類就容易想到陣列,那麼現在說一下陣列和集合類的主要區別:
陣列的長度在定義的時候就已經確定了,而集合的長度是可變的;
陣列是用來存放基本型別的資料(例如:byte,short,int等型別的資料),而集合是用來存放物件的引用。
上圖是常見的集合類的繼承關係
1:首先是collection介面:
collection介面是層次結構中的根介面,其常用的方法如下表:
collection介面常用方法 方法
功能描述
add(e e)
將指定物件新增到該集合中
remove(object o)
將指定物件從該集合中移除
isempty()
返回布林值,用於判斷當前集合是否為空
iterator()
返回在此collection的元素上進行迭代的迭代器。用於遍歷集合中的物件
size()
返回int型值,獲取該集合中元素的個數
注意:collection介面通常是不能直接使用的,但該介面提供了新增元素,刪除元素,管理資料的方法。由於list介面與set介面都是繼承於collection介面,因此上面的方法對list集合和set集合是通用的。
2:list集合和set集合主要區別
1)list集合中的元素是允許重複,各元素的順序就是物件插入的順序。類似陣列,可以通過使用索引(元素在集合中的位置)來訪問集合中的元素。
2)set集合中的物件不按特定方式排序,只是簡單的把物件加入到集合中,但set集合中不能包含重複物件的值。
3:arraylist和linkelist主要區別
1)arraylist類實現了可變的陣列,允許儲存所有元素,包括null,並可以根據索引位置對集合進行快速的隨機訪問;缺點是向指定索引位置插入物件或刪除物件的速度較慢;
2)linkedlist類採用鍊錶結構儲存物件。這種結構的優點是便於向集合中插入和刪除物件,但是對於隨機訪問集合中的物件的效率較低。
注意:關於arraylist和linkedlist之間優缺點主要是他們採用不同的資料儲存結構所導致的.arraylist採用的是線性儲存結構,它們在記憶體裡面是連續的分配空間的;而linkedlist是鍊錶儲存結構的,他們在記憶體裡面不是連續的分配空間,各元素之間主要是根據前後指標建立起聯絡的。
4:map集合
map集合沒有繼承collection,其提供的是key到value的對映。map中不能包含相同的key,每乙個key只能對映到乙個value。key還決定了儲存物件在對映中的儲存位置。關於map集合具體細節也不是很清楚,只是大概了解一點。用到了雜湊碼,在加上偏移量就可以確定在記憶體區域中的起始位置。具體細節沒有去深究。
個人學習 java 列舉
一種單例模式 裡面只有乙個類 他類裡的屬性宣告為 private final 在構造器中初始化 它值一旦確定就不能修改 private season string seasonname,string seasondesc this.seasonname seasonname this.seasond...
個人學習 java 事
需要xml加上tx的命名空間 基於註解的配置事務 然後配置事務 並且啟用 property內是要管理的資源 在對應的方法上方加入 transactional 事務的傳播行為 根據特定的型別.指定事務的propagation 的值.進行詳細的說明 xml配置事務 實現類 首先是配置bean 找到要實現...
java個人學習筆記12(多型)
1.多型 物件多型性在程式中的體現 父類的引用或者介面的引用指向了子類的物件。多型的好處 提高了 的擴充套件性 多型的弊端 不能使用子類的特有方法 多型的前提 必須有繼承或實現的關係,通常有覆蓋 instanceof 物件型別判斷,格式 物件 instanceof 型別,返回true或false a...