泛型 Map集合 day18

2021-06-18 10:17:40 字數 2270 閱讀 9510

第十八天 泛型 map集合

1. 泛型的出現

程式的安全性

安全問題由執行時期,提前到了編譯時期

jdk1.5 以後出現的

(jdk1.5版本,是乙個里程碑式的公升級)程式的公升級

安全性效率

**的減少

避免了強制型別轉換

2. 泛型的定義和使用 《資料型別》

強制集合只能儲存一種資料型別

什麼時候使用泛型

當你使用乙個類的時候,發展這個類名帶<>,用泛型

arraylist泛型, e是乙個變數,可變化的型別,使用arraylist集合,指定什麼資料型別

這個e就表示什麼資料型別

arraylistboolean add(integer e) 

3. 泛型類泛型方法

面試考試你對泛型限制資料型別是否理解

4. 泛型萬用字元 ?

不確定泛型型別的時候,可以使用?來進行通配,了解即可

5. 泛型的限定  了解即可

在泛型限制的資料型別是,只能傳遞某乙個派系的成員

? extends e 只能是e或者是e的子型別  泛型的上限限定

? super e 只能是e或者是e的父型別 泛型的下限限定

6. map集合

雙列集合

儲存的鍵是唯一的,每個鍵只能對應乙個值

map介面中的方法

v put(k,v)

put方法的返回值,是null,但是如果覆蓋了原有的鍵,返回值,就是原有鍵對應的值

boolean containskey(object key) 判斷map集合中,有沒有這個鍵 

containsvalue(object value) 判斷map集合中,有沒有這個值

v get(object key) 獲取map集合中,指定鍵對應的值 如果沒有這個鍵,返回null

7. map集合中儲存元素的取出方式 第一種 *****

利用set集合 setkeyset()  

keyset()方法,作用是,將map集合中的鍵,儲存到set集合

迭代set集合,next()方法返回的就是鍵

使用map集合中的get方法,來獲取值

8. map集合中儲存元素的取出方式 第二種 *****

利用map集合中,儲存鍵值對的關係來獲取

map集合本身提供乙個方法,entryset()方法,返回鍵值儲存關係,關係是map.entry

set> entryset()

將集合中鍵值對的關係,又儲存到了set集合

9. hashmap

底層資料結構是乙個實現雜湊表的雙列集合

執行緒不安全,執行效率高

儲存到hashmap中的鍵,如果是自定義物件,需要物件重寫hashcode和equals

10. treemap 

底層資料結構 是紅黑樹(優化了演算法的二叉樹)

儲存在treemap集合中的物件,會進行自然排序,排序依據是鍵

treemap執行緒不安全,執行效率高

儲存到treemap集合中的鍵,必須具備比較性,也可以讓treemap本身具備比較性

需要我們自定義比較器,實現comparator介面

11. 實現乙個統計功能

hgfdsewrhgfdkljhsajdtporissvbhadv每個字母出現了多少次

結果 a字母出現2次,b字母出現5次 d字母出現10次

有序排列的,集合中的物件,treeset

12. 集合中的子類中的特點和什麼時候使用

arraylist

陣列結構,查詢快,增刪慢

linkedlist

鍊錶結構,查詢慢,增刪塊

hashset

雜湊表結構,不重複元素

treeset

二叉樹,儲存的元素自然排序

hashmap

雜湊表結構,雙列集合,不重複元素

-   treemap

紅黑樹結構,雙列集合,儲存的元素自然排序

什麼時候用集合

資料太多,用陣列儲存

物件太多,用集合儲存

如果是這些物件經常頻繁進行查詢工作 arraylist

如果是這些物件經常頻繁進行修改工作 linkedlist

儲存集合中的物件需要唯一嗎,如果需要 hashset

儲存集合中的物件需要唯一嗎,需要排序嗎 如果需要 treeset

如果需要同時儲存兩個物件,乙個鍵,乙個值,必須map集合

實在不知道該用哪乙個集合 arraylist(使用頻率最高)

能用map不要用set ,set底層呼叫的就是map中的功能

集合 map 泛型

集合框架 是為表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容 對外的介面 介面的實現和對集合運算的演算法。collection 介面 collection物件是將多個元素組成乙個單元的物件 集合用於儲存 檢索和操縱資料 集合框架是用於表示和操縱集合的統一體系結構 集合框...

Java集合框架(四) day18

b map介面和collection介面的不同 b 刪除功能 c 判斷功能 d 獲取功能 b 案例演示 b 案例演示 c 原始碼分析 hashmap集合鍵是student值是string的案例 鍵是學生物件,代表每乙個學生 值是字串物件,代表學生歸屬地 public static void main...

泛型和map集合

1 泛型 jdk1.5出現的安全機制 好處 1 將執行時期的問題classcastexception轉換為編譯時期。2 避免了強制轉換的麻煩 什麼時候用?當操作的引用資料型別不確定的時候,就使用 將要操作的引用資料型別傳入即可,其實 就是乙個用於接收具體引用資料型別的引數範圍。泛型技術是給編譯器使用...