這里有我之前上課總結(jié)的一些知識點(diǎn)以及代碼大部分是老師講的筆記 個人認(rèn)為是非常好的,,也是比較經(jīng)典的內(nèi)容,真誠的希望這些對于那些想學(xué)習(xí)的人有所幫助!
由于代碼是分模塊的上傳非常的不便。也比較多,講的也是比較清晰的!如果你有需要可以在評論中留下您的郵箱我看到一定會免費(fèi)發(fā)給你的!感謝這個平臺讓我們大家共同進(jìn)步吧!! 記住 程序員是無私的!!!
也非常歡迎到我的博客內(nèi)觀看 博客地址:http://www.companysz.com/duscl/
/*1:登錄注冊案例(理解)2:Set集合(理解) (1)Set集合的特點(diǎn) 無序,唯一 (2)HashSet集合(掌握) A:底層數(shù)據(jù)結(jié)構(gòu)是哈希表(是一個元素為鏈表的數(shù)組) B:哈希表底層依賴兩個方法:hashCode()和equals() 執(zhí)行順序: 首先比較哈希值是否相同 相同:繼續(xù)執(zhí)行equals()方法 返回true:元素重復(fù)了,不添加 返回false:直接把元素添加到集合 不同:就直接把元素添加到集合 C:如何保證元素唯一性的呢? 由hashCode()和equals()保證的 D:開發(fā)的時候,代碼非常的簡單,自動生成即可。 E:HashSet存儲字符串并遍歷 F:HashSet存儲自定義對象并遍歷(對象的成員變量值相同即為同一個元素) (3)TreeSet集合 A:底層數(shù)據(jù)結(jié)構(gòu)是紅黑樹(是一個自平衡的二叉樹) B:保證元素的排序方式 a:自然排序(元素具備比較性) 讓元素所屬的類實(shí)現(xiàn)Comparable接口 b:比較器排序(集合具備比較性) 讓集合構(gòu)造方法接收Comparator的實(shí)現(xiàn)類對象 C:把我們講過的代碼看一遍即可 (4)案例: A:獲取無重復(fù)的隨機(jī)數(shù) B:鍵盤錄入學(xué)生按照總分從高到底輸出 3:Collection集合總結(jié)(掌握) Collection |--List 有序,可重復(fù) |--ArrayList 底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢。 線程不安全,效率高 |--Vector 底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢。 線程安全,效率低 |--LinkedList 底層數(shù)據(jù)結(jié)構(gòu)是鏈表,查詢慢,增刪快。 線程不安全,效率高 |--Set 無序,唯一 |--HashSet 底層數(shù)據(jù)結(jié)構(gòu)是哈希表。 如何保證元素唯一性的呢? 依賴兩個方法:hashCode()和equals() 開發(fā)中自動生成這兩個方法即可 |--LinkedHashSet 底層數(shù)據(jù)結(jié)構(gòu)是鏈表和哈希表 由鏈表保證元素有序 由哈希表保證元素唯一 |--TreeSet 底層數(shù)據(jù)結(jié)構(gòu)是紅黑樹。 如何保證元素排序的呢? 自然排序 比較器排序 如何保證元素唯一性的呢? 根據(jù)比較的返回值是否是0來決定 4:針對Collection集合我們到底使用誰呢?(掌握) 唯一嗎? 是:Set 排序嗎? 是:TreeSet 否:HashSet 如果你知道是Set,但是不知道是哪個Set,就用HashSet。 否:List 要安全嗎? 是:Vector 否:ArrayList或者LinkedList 查詢多:ArrayList 增刪多:LinkedList 如果你知道是List,但是不知道是哪個List,就用ArrayList。 如果你知道是Collection集合,但是不知道使用誰,就用ArrayList。 如果你知道用集合,就用ArrayList。 5:在集合中常見的數(shù)據(jù)結(jié)構(gòu)(掌握) ArrayXxx:底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢 LinkedXxx:底層數(shù)據(jù)結(jié)構(gòu)是鏈表,查詢慢,增刪快 HashXxx:底層數(shù)據(jù)結(jié)構(gòu)是哈希表。依賴兩個方法:hashCode()和equals() TreeXxx:底層數(shù)據(jù)結(jié)構(gòu)是二叉樹。兩種方式排序:自然排序和比較器排序 */
新聞熱點(diǎn)
疑難解答