第十四天java學習map的使用

1. map

  1. Map保存的數據是鍵值對,對集合中的數據操作是通過鍵對值進行操作鍵不能重複,值可以重複
  2. 如果鍵值存在,則修改對應的抽象值
  3. 對於數據的操作 通過鍵來完成的
  4. 增加put 修改put 刪除remover 查找get(key)=>value
  5. 遍歷:獲得所有的value構成的集合valus()=>collection集合中只保存有所有的valus的值因此無法對應的值(2)獲得所有的key構成的集合中保存所有的key,因此可以通過對應的key值找到對應的value值(3)獲得所有的key-value值,先使用set的entryset獲得,然後進行循環,並將obj轉換爲entry類型使用entry的getkey和getvalue的方法獲得鍵和值。
  6. HashMap根據hash算法保存數據,因此存放數據無序TreeMap根據key進行自然排序,因此存放的數據根據key從小到大排序一般情況下的key的數據類型比較簡單如(Integer,String)但是如何key的數據類型比較複雜的情況下(如自義定類型)則該複雜數據類型應該實現compareable接口的compareto實現方法

2.泛型集合

  1. 在定義集合使,規定集合保存的數據類型, 如果存放數據時不是該類型,則編譯出錯的,在操作的該集合數據無需類型轉換
  2. 格式:集合類型<保存數據類型>

3.自定義泛型

1) 泛型方法:參數類型任意, 返回類型與參數類型一致
訪問修飾符 <類型標示符>返回類型 方法名(類型標示符 參數名){}
何時指定具體的數據類型?
調用該方法時,根據實參的數據類型,指定類型標示符的數據類型
public T get(T obj){ return obj; } String str = t1.get(“abc”); 此時T就是String

2) 泛型類
語法: class 類名<類型標示符> {
在該類非靜態方法頭處可以使用類型標示符

              靜態方法也要使用類型標示符,只能在方法聲明處自己定義類型標示符

}
class Test2 { public T set(int index, T obj){ return obj; } public static void show(T obj){ } } Test2 t2 = new Test2(); 此時T就是String

  何時指定具體的數據類型?
        創建該類對象時,指定數據類型

泛型類創建合法寫法 Test2 t2 = new Test2(); Test2 t2 = new Test2 (); // 默認Object Test2 t2 = new Test2 (); Test2 t2 = new Test2(); Test2 t2 = new Test2();

3) 泛型接口
語法: interface 接口名<類型標示符> { }
何時指定具體的數據類型?
a) 實現類在實現泛型接口時,指定具體數據類型
如 class Test implement ITest{}
b) 實現類未執行泛型接口的具體數據類型,則該實現類爲泛型類
如 class Test implements ITest{}

4.泛型的認識

  1. java se1.5 之前沒有泛型的時候只能通過object的引用實現參數的任意化比如自己在定義一個類的時候重寫compareto方法的時候要判斷傳過來的參數是否是該類的操作,如果是該類就將傳過來的數據強制轉化爲該類。
  2. 泛型的好處是在編譯的時候檢查類型的安全,並且所有的強制轉換都是自動和隱式的

5、Collections 對集合進行操作的類,提供了一些對集合操作的方法:

  1. Collections.swap(list, index1, index2)
  2. Collections.revers()
  3. Collections.sort(list [, comparator ])
  4. Collection. binarySearch(list, [, comparator ])
  5. Collection.max(list)
  6. Collection.min(list)
  7. Collection. replaceAll(list, oldObj, newObj)
  8. Collection. synchronizedSet(Set)
  9. Collection. synchronizedList(list)
  10. Collection. synchronizedMap(map)

List.toArray( array ) 將集合中的元素保存到指定數組中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章