第一節:集合框架概述與體系結構
一:概述
1、集合的概念:是一種工具類,就像是容器,儲存任意數量的具有共同屬性的物件。
2、集合的作用:
a:在類的內部,對資料進行組織;
b:簡而快速的搜尋查詢其中的某一條元素;
c:有的集合介面,提供了一系列排列有序的元素,並且可以在序列中間快速的插入或者刪除有關的元素;
d:有的集合介面,
提供了對映關係,可以通過關鍵字(key)去快速查詢到對應的唯一物件,而這個關鍵字可以使任意型別。
3、集合與陣列的對比:
a:陣列的長度固定,
集合長度可變
b:陣列只能通過下標訪問元素,型別固定,而有的集合可以通過任意型別查詢所對映的具體物件。
二:體系結構
1、兩大根介面:collection和map
2、collection常用的三個子介面:
a:link(序列,有序可重複,常用)
b:queue(佇列,有序可重複)
c:set(集,無序不可重複,常用),
以上分別對應的實現類是
arraylist(陣列序列),linkedlist(鍊錶,同時也是link的實現類),
hashset(雜湊集)。
3、map最常用的子介面:對應的實現類是
hashmap(雜湊表)
4、注意:
a:collection類都是乙個物件乙個物件的存,map類都是兩個物件乙個鍵值對(entry類)的存。
b:標紅色的都是使用頻率最高的實現類。
————
第二節:list集合
一:list集合與陣列的
區別1、list集合宣告時,不需要指定長度,而陣列需要指定長度。
2、陣列.length返回的是指定的元素個數,而list.size()方法,存入多少元素,就返回多少元素。
3、因為list集合和陣列儲存方式不一樣,list集合訪問效率,比陣列高。
二:list集合的方法(紅色為常用方法)
1、 add(object o)方法:給list集合中新增元素
add(下標 ,object o)方法:給list集合中新增元素,但是固定下標存入元素,不能超出現有集合長度。
2、 size()方法:得到集合的大小,返回的是int型別的值
3、 get(int i)方法:獲取元素,返回集合中該下標的元素
4、addall(集合)方法:用於將乙個集合中的所有元素,賦值給另乙個集合。
5、 remove(下標)方法:刪除集合中固定下標元素。
remove(物件)方法:刪除集合中固定的元素。
6、contains(物件)方法:判斷集合中是否包含該元素,返回boolean值
三:list集合
特點1、存入元素,是有序的,且元素可以重複。(
set集合中的元素,是不能重複,且無序的)
2、list的兩個實現類:如果常需要查詢方法等使用arraylist實現類;頻繁使用刪除、插入使用linkedlist實現類。(
兩者區別在於儲存方法不同,所以arraylist便於查詢,linkedlist便於修改)
void addfirst(object o) 在集合的
首部新增元素(子類特有方法)
void addlast(object o) 在集合的
末尾新增元素(子類特有方法)
object getfirst() 返回集合中的
第乙個元素
object getlast() 返回集合中的
最後乙個元素
object removefirst() 刪除並返回集合中的第乙個元素
object removelast() 刪除並返回集合中的最後乙個元素
3、list集合,也可以被稱作
列表。————
第三節:map集合
一:map集合的方法
1、object
put(object key, object val):以「鍵-值對」的方式進行儲存,而map的key不能重複,val可以重複
2、object
3、object remove (object key)
刪除由指定的鍵對映的「鍵-值對」
4、int size() 返回集合中元素個數
5、set keyset () 返回鍵的集合
6、collection values () 返回值的集合
7、boolean containskey (object key) 如果存在由指定的鍵對映的「鍵-值對」,返回true
boolean containsvalue (object values) 也可以判斷是否包含values
8、clear():清空集合中的元素
9、isempty():判斷集合中元素是否為空,返回boolean值
二:區別
1、treeset與treemap有序
2、hashset與hashmap無序——是通過雜湊值判斷的
————
第四節:泛型
1、作用
a:集合中的元素,可以是任意型別的物件(準確來說,應該是物件的引用)。
b:如果把某個物件放入集合,則會忽略他的型別,而把它當作object處理
c:泛型則是規定了某個集合只可以存放特定型別及其子型別的物件。
(會在編譯期間進行型別檢查)
(而且獲取集合中元素時,可以直接按指定型別獲取元素)
2、泛型語法
a、泛型<>——規定list定義的容器只能儲存某種型別的元素。
b、示例:
listcoursetoselect;
this.coursetoselect=new arraylist(); //帶有泛型-course的list型別屬性建立
c、注意:
1、泛型集合中,不能新增泛型規定的型別以及其子型別以外的物件,否則會報錯。
2、泛型集合中,不能使用基本資料型別,只能使用引用資料型別。
3、不過可以通過包裝類,限定允許存入基本資料型別。
如:long——就是使用它的long包裝類,int包裝類——integer
listcoursetoselect;
第八課 物件導向程式設計 (六)
1.多型 1 重寫 發生父類和子類之間 子類重寫父類的方法 新增自己新的功能 2 過載 發在乙個類中 方法的名字相同 引數列表不同 個數 型別 順序 和返回值無關 構造方法過載 和 成員方法過載 3 多型的執行機制 在類編譯階段,編譯器會檢查型別是否匹配 檢查宣告型別 方法等 在執行階段,jvm會呼...
第六章筆記
頂層const與底層const的區別 頂層const是指標物件本身是乙個常量,而底層const是指標所指的物件是乙個常量,理解起來就相當於前者是直接,後者是間接。宣告函式可以多次,但是每個形參只能用實參預設初始化一次,即後續宣告只可以為未預設初始化的形參新增預設實參,而且其形參右側的所有形參必須都有...
第八天 第六章 實戰
一 選角色 方法 列印演員開始出演這個劇本 defscrip lead print lead 開始參演這個劇本 獲取控制台輸入的 演員姓名 lead input 導演選定的主角是 呼叫 列印 演員出演方法 scrip lead 二 模擬美圖外賣商家的 defpackage pice package1...