javaoop 第八課筆記 第六章

2021-08-17 15:25:05 字數 3023 閱讀 6096

第一節:集合框架概述與體系結構

一:概述

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...