1:list的子類(掌握)
(1)list的子類特點
arraylist:
底層資料結構是陣列,查詢快,增刪慢
執行緒不安全,效率高
vector:
底層資料結構是陣列,查詢快,增刪慢
執行緒安全,效率低
linkedlist:
底層資料結構是鍊錶,查詢慢,增刪快
執行緒不安全,效率高
(2)arraylist
a:沒有特有功能需要學習
b:案例
a:arraylist儲存字串並遍歷
b:arraylist儲存自定義物件並遍歷
(3)vector
a:有特有功能
a:新增
public void addelement(e obj) – add()
b:獲取
public e elementat(int index) – get()
public enumeration elements() – iterator()
b:案例
a:vector儲存字串並遍歷
b:vector儲存自定義物件並遍歷
(4)linkedlist
a:有特有功能
a:新增
addfirst()
addlast()
b:刪除
removefirst()
removelast()
c:獲取
getfirst()
getlast()
b:案例
a:linkedlist儲存字串並遍歷
b:linkedlist儲存自定義物件並遍歷
(5)案例:
a:去除集合中的多個字串的重複元素
如果字串的內容相同,即為重複元素
b:去除集合中的多個自定義物件的重複元素
如果自定義物件的成員變數值都相同,即為重複元素
c:用linkedlist模擬乙個棧資料結構的集合類,並測試。
你要定義乙個集合類,只不過內部可以使用linkedlist來實現。
2:泛型(掌握)
(1)泛型概述
是一種把明確型別的工作推遲到建立物件或者呼叫方法的時候才去明確的特殊的型別。
(2)格式:
《資料型別》
注意:該資料型別只能是引用型別。
(3)好處:
a:把執行時期的問題提前到了編譯期間
b:避免了強制型別轉換
c:優化了程式設計,解決了黃色警告線問題,讓程式更安全
(4)泛型的前世今生
a:泛型的由來
object型別作為任意型別的時候,在向下轉型的時候,會隱含乙個轉型問題
b:泛型類
c:泛型方法
d:泛型介面
e:泛型高階萬用字元
?? extends e
? super e
(5)我們在**使用呢?
一般是在集合中使用。
3:增強for迴圈(掌握)
(1)是for迴圈的一種
(2)格式:
for(元素的資料型別 變數名 : 陣列或者collection集合的物件)
(3)好處:
簡化了陣列和集合的遍歷
(4)弊端
增強for迴圈的目標不能為null。建議在使用前,先判斷是否為null。
4:靜態匯入(了解)
(1)可以匯入到方法級別的匯入
(2)格式:
import static 包名…類名.方法名;
(3)注意事項:
a:方法必須是靜態的
b:如果多個類下有同名的方法,就不好區分了,還得加上字首。
所以一般我們並不使用靜態匯入,但是一定要能夠看懂。
5:可變引數(掌握)
(1)如果我們在寫方法的時候,引數個數不明確,就應該定義可變引數。
(2)格式:
修飾符 返回值型別 方法名(資料型別… 變數) {}
注意:
a:該變數其實是乙個陣列名
b:如果乙個方法有多個引數,並且有可變引數,可變引數必須在最後
(3)arrays工具類的乙個方法
aslist()把陣列轉成集合。
注意:這個集合的長度不能改變。
第十七章 Size Classes
通常,您希望應用程式的介面根據螢幕的尺寸和方向而顯示不同的布局。在本章中,您將修改homepwner中的detailviewcontroller的介面,以便當它出現在具有相對較小高度的螢幕上時,文字字段集合和影象檢視併排而不是堆疊在一起 圖17.1 圖17.1 homepwner 的 detailv...
第十七章 部署
總的來說,部署遇到了許多坑,而且還有好多坑還沒有踩。去cocode找了許多教程,才踩了一些坑,但是關於資料庫的坑,先留著。所有的db.session.add 後面都加上db.session.commit 才行。記得,這是狗書的問題!部署教程 每次修改後需要一下命令重新部署下 git add git ...
第十七章 包
1 如果a資料夾所在目錄在環境變數,a資料夾中的 ma 模組可以被以下方式匯入 import a.ma form a import ma 2 如果 a 資料夾所在目錄在環境變數,a 資料夾中的 b 資料夾的 mb 模組可以被以下方式匯入 import a b mb from a.b import m...