Day-29 Map.Entry方法??? LinkedHashMap??? HashTable【了解】 Properties【了解】 ? 泛型 ? ? Collections工具類
1艾岂、Map.Entry方法(接day28)
Entry可以認(rèn)為是一個(gè)鍵值對對象薄霜。理解為:將鍵值對看成一個(gè)整體的對象召噩。
包含了Key白修,Value溉瓶。map-->entray-->遍歷
Map中操作的是一對對象。key和value悼吱。存在一個(gè)映射關(guān)系。對應(yīng)的良狈。
2后添、LinkedHashMap
記錄了存儲的順序。去重的原理和HashMap相同薪丁。
3遇西、HashTable【了解】(舊的)
哈希表:HashTable舊的類。
筆試題:問HashMap和HashTable的區(qū)別严嗜?
HashMap和HashTable都是Map的實(shí)現(xiàn)類
父類不一樣:繼承結(jié)構(gòu)不同粱檀。
HashTable的父類是:Dictionary
HashMap的父類是:Abstract Map
HashMap是HashTable的替代品。HashTable是舊的類漫玄,線程安全茄蚯,效率低。
對于null的處理
HashMap對null睦优,看成了普通的對象渗常。可以key為null汗盘,也可以value為null
HashTable對null沒有進(jìn)行處理皱碘。拋出異常:NullPointerException
筆試題:問ArrayList和Vector的區(qū)別?
4衡未、Properties【了解】
1、Properties類從結(jié)構(gòu)來看家凯,是HashTable的子類缓醋,也是集合中的一員。也是用于存儲數(shù)據(jù)的绊诲,都是一些配置信息送粱。泛型<key,value>,String類型掂之。
其他的集合存儲對象的抗俄,Properties存儲屬性信息。
將屬性集合Properties中的數(shù)據(jù)——>file文件中
file文件中——>屬性集合Properties中
5世舰、泛型
5.1动雹、泛型應(yīng)用在集合上。
聲明集合的時(shí)候跟压,使用<>來限制集合能夠操作的數(shù)據(jù)類型胰蝠,從而保護(hù)類型安全。
List? <String> list=new ArrayList();
list.add(String);???? //存儲String類型
5.2、泛型應(yīng)用在類上茸塞。
聲明一個(gè)類的時(shí)候使用<>躲庄,限制數(shù)據(jù)類型,泛型作用在類上钾虐。普通方法和普通的屬性噪窘。屬于對象的,可以直接使用該泛型效扫。但是不能給靜態(tài)用倔监。因?yàn)樽饔迷陬惿系姆盒停?dāng)對象被創(chuàng)建的時(shí)候確定的荡短。
class 類名<T>{
? ? //T 這個(gè)類型丐枉,當(dāng)創(chuàng)建對象的時(shí)候決定好。
}
泛型擦除:如果創(chuàng)建對象的時(shí)候掘托,沒有指明泛型瘦锹,那么該類型T——>Object類型。
5.3闪盔、泛型作用在靜態(tài)方法上
方法的聲明上使用泛型的聲明<>弯院。
類的靜態(tài)方法如果使用泛型,需要單獨(dú)進(jìn)行泛型的聲明泪掀,聲明泛型要寫在static關(guān)鍵字之后听绳,返回值類型之前。
//3.<M>异赫,靜態(tài)方法上自己獨(dú)立聲明泛型椅挣,不能使用類的。
? ? public static<M> Mtest(M m){
? ? ? ? System.out.println(m);
? ? ? ? returnm;
? ? }
5.4塔拳、泛型的限定:集合中
鼠证?:代表了任意集合中可以存儲任意類型,區(qū)分于Object
List<?>靠抑,List<Object>
List<?>指代可以存儲任意泛型類型的集合
List<Object>集合中的對象量九,就是Object類型,其他類型的對象會自動轉(zhuǎn)為Object類型颂碧。
荠列?extends T:限定了上限
接收集合的泛型:中可以存儲T,以及T的子類類型载城。
肌似?super T:限定了下限
接收集合的泛型:可以是T,以及T的父類诉瓦。
5.5锈嫩、不允許使用泛型的地方
靜態(tài)屬性:private static T member受楼;//錯(cuò)誤的
創(chuàng)建T的實(shí)例:T t = new T();//錯(cuò)誤
自定義異常,不能使用泛型
class MyException<T> extends Exception
6呼寸、Collections工具類
Collection和Collections的區(qū)別艳汽?
Collection:集合中最大的父接口,List和Set的父接口对雪,規(guī)定了集合最基本的操作河狐。
Collections:集合的工具類,包含了集合的常用方法瑟捣。
Arrays:數(shù)組的工具類馋艺,包含了數(shù)組的常用方法。