日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三、集合和泛型

發布時間:2024/10/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三、集合和泛型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第三節:集合和泛型

1.Collection接口是集合類的根接口,沒有實現類。但是Set和List繼承了Collection. Set是元素唯一,無序的集合 List是元素不唯一,排列有序的集合 2.Map是java.util包的另一個接口,和Collection接口沒有關系,相互獨立,但都屬于結合類的一部分。Map包括key-value對,key和value都是引用類型。 key不可重復,value可重復。同一個Map對象的任何兩個key通過equals方法比較結果總是返回false。 3.Iterator,所有的集合都實現了Iterator接口,用戶遍歷集合元素的接口,包含三種方法: hasNext():是否還有下一個元素; next():返回下一個元素; remove():移除當前元素 4.區別: ---|Collection: 單列集合 ---|List: 有存儲順序, 可重復 ---|ArrayList:? 數組實現, 查找快, 增刪慢由于是數組實現, 在增和刪的時候會牽扯到數組 增容, 以及拷貝元素. 所以慢。數組是可以直接按索引查找, 所以查找時較快 ---|LinkedList: 鏈表實現, 增刪快, 查找慢由于鏈表實現, 增加時只要讓前一個元素記住自 己就可以, 刪除時讓前一個元素記住后一個元素, 后一個元素記住前一個元素。 這樣的增刪效率較高但查詢時需要一個一個的遍歷, 所以效率較低 ---|Vector:? 和ArrayList原理相同, 但線程安全, 效率略低和ArrayList實現方式相同,? 但考慮了線程安全問題, 所以效率略低 ---|Set: 無存儲順序, 不可重復 ---|HashSet:線程不安全,存取速度快。底層是以哈希表實現的。 ---|TreeSet:紅-黑樹的數據結構,默認對元素進行自然排序(String)。如果在比較的時候兩個對象返回值為0,那么元素重復。 ---|LinkedHashSet:會保存插入的順序。 ---| Map: 鍵值對 ---|HashMap:底層是哈希表數據結構,線程是不同步的,可以存入null鍵,null值。要保證鍵的唯一性,需要覆蓋hashCode方法,和equals方法。 ---|LinkedHashMap:該子類基于哈希表又融入了鏈表。可以Map集合進行增刪提高效率。 ---|TreeMap:底層是二叉樹數據結構。可以對map集合中的鍵進行排序。需要使用Comparable或者Comparator 進行比較排序。return 0,來判斷鍵的唯一性。 ---|HashTable 5:Collection接口的共性方法 增加: 1:add()???將指定對象存儲到容器中 add 方法的參數類型是Object 便于接收任意對象 2:addAll() 將指定集合中的元素添加到調用該方法和集合中 刪除: 3:remove() 將指定的對象從集合中刪除 4:removeAll() 將指定集合中的元素刪除 修改 5:clear() 清空集合中的所有元素 判斷 6:isEmpty() 判斷集合是否為空 7:contains() 判斷集合何中是否包含指定對象 8:containsAll() 判斷集合中是否包含指定集合 使用equals()判斷兩個對象是否相等?? 獲取:???9:int size()????返回集合容器的大小 轉成數組10: toArray()???集合轉換數組 *************: ArrayList 和 LinkedList的存儲查找的優缺點: 1、ArrayList 是采用動態數組來存儲元素的,它允許直接用下標號來直接查找對應的元素。但是,但是插入元素要涉及數組元素移動及內存的操作。總結:查找速度快,插入操作慢。 2、LinkedList 是采用雙向鏈表實現存儲,按序號索引數據需要進行前向或后向遍歷,但是插入數據時只需要記錄本項的前后項即可,所以插入速度較快 問題:有一批數據要存儲,要求存儲這批數據不能出現重復數據,ArrayList、LinkedList都沒法滿足需求。解決辦法:使用 set集合。 迭代器遍歷集合: 迭代器遍歷注意:

?

泛型

1.泛型: 就是將類型當作變量處理。規范泛型的定義一般是一個大寫的任意字母。 2.函數上的泛型定義: 當函數中使用了一個不明確的數據類型,那么在函數上就可以進行泛型的定義。 public <泛型的聲明> 返回值類型??函數名( 泛型 變量名??){ } 3.類上的泛型聲明 修飾符 class 類名<泛型>{ } 4.類型變量扮演的角色就如同一個參數,它提供編譯器進行類型檢查的條件。 5:類泛型 細節 創建對象的時候要指定泛型的具體類型 創建對象時可以不指定泛型的具體類型(和創建集合對象一眼)。默認是Object,例如我們使用集合存儲元素的時候沒有使用泛型就是那么參數的類型就是Object 類上面聲明的泛型只能應用于非靜態成員函數,如果靜態函數需要使用泛型,那么 需要在函數上獨立聲明。 如果建立對象后指定了泛型的具體類型,那么該對象操作方法時,這些方法只能操作一種數據類型。 所以既可以在類上的泛型聲明,也可以在同時在該類的方法中聲明泛型。 6.泛型上限: 表示參數化的類型可能是所指定類型,或者是其子類。 7.泛型下限:泛型下限:使用的泛型只能是本類及其父類類型上應用的時候,就必須使用泛型的 8.java中的泛型,只在編譯階段有效 泛型類型在邏輯上可看成多個不同類型,但是在幾時運行間斷都是相同基本類型。 注意事項: 細節: 細節一:?聲明好泛型類型之后,集合中只能存放特定類型元素 細節二:?泛型類型必須是引用類型 細節三:?使用泛型后取出元素不需要類型轉換.

轉載于:https://www.cnblogs.com/ximei/p/9597896.html

總結

以上是生活随笔為你收集整理的三、集合和泛型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久久久亚洲 | 午夜免费一区 | 色噜噜日韩精品欧美一区二区 | 亚洲欧美另类中文字幕 | 卡一卡二卡三 | av高清在线免费观看 | 成av人片在线观看www | 国产性―交一乱―色―情人 | 日韩视频中文字幕在线观看 | 欧美精品色婷婷五月综合 | 在线日韩免费 | 国产农村妇女精品一二区 | 波多野结衣乳巨码无在线 | 91精品国产aⅴ一区二区 | 久久一区欧美 | 国产又粗又猛又爽又 | 日日狠狠 | 免费午夜网站 | 天堂在线免费视频 | 视频一区二区不卡 | 中文字幕网址在线 | 伊人国产精品 | 99热青青草 | 日日天天干 | 亚洲天堂av在线免费观看 | 小泽玛利亚一区二区三区在线观看 | 日韩精品视频在线观看免费 | 中国黄色一级毛片 | 熟妇人妻一区二区三区四区 | 国产精品无码免费播放 | caoprom在线 | 国产欧美日韩一区 | 久久免费在线 | 免费高清毛片 | 国内自拍一区 | 精品+无码+在线观看 | av综合久久 | 四虎成人精品在永久免费 | 一本色道久久综合亚洲精品按摩 | 少妇搡bbbb搡bbb搡澳门 | 8x8ⅹ成人永久免费视频 | 激情综合一区二区三区 | 日韩 国产 在线 | 日本a级无毛 | 高清av一区二区 | 亚洲男女 | 丝袜美腿亚洲综合 | 欧美系列一区二区 | 日本久久久久久久久久久 | 国产精品国产一区二区三区四区 | 免费看国产曰批40分钟粉红裤头 | 欧美天堂视频 | 亚洲成人av中文字幕 | 国产精品7 | 激情五月婷婷丁香 | 欧美图片一区 | 久久久久久国产精品日本 | 日本波多野结衣在线 | 成年人黄色一级片 | 肉丝袜脚交视频一区二区 | 天天看黄色 | 天天摸天天干天天操 | 色综合久久久无码中文字幕波多 | 亚洲日本香蕉视频 | jizzjizz免费| 国产第一页屁屁影院 | 亚洲熟妇无码一区二区三区导航 | 亚洲自拍激情 | 三浦惠理子aⅴ一二三区 | 精品人妻伦一二三区免费 | 亚洲一区二区三区午夜 | 日韩一级性 | 亚洲精品国产精品国自产在线 | 国产高清av | 国产精品2020 | 久久久精品免费看 | 一级空姐毛片 | 免费在线中文字幕 | 国产在线久久久 | 极品美女高潮 | www黄色com | 91网在线观看 | 亚洲欧美日韩久久精品 | 国产黄色录像片 | 国产精品无套 | 中国爆后菊女人的视频 | 午夜爱爱网站 | 欧美一级艳片视频免费观看 | 丝袜制服一区 | 狂野欧美性猛交免费视频 | 风流少妇一区二区三区91 | 国产成人精品一区二区无码呦 | javxxx| 色偷偷人人澡人人爽人人模 | 国产日产精品一区二区三区四区 | bbbbbbbbb毛片大片按摩 | 高潮喷水一区二区三区 | 国产精品1区 | 丰满少妇一区二区三区 |