java將map轉(zhuǎn)換成list 為什么java中聲明多用Map,List而不是具體實(shí)現(xiàn)類(lèi)型?
為什么java中聲明多用Map,List而不是具體實(shí)現(xiàn)類(lèi)型?設(shè)計(jì)模式應(yīng)該是適配器模式。至于為什么要用map來(lái)實(shí)現(xiàn),我理解目的是用map的鍵來(lái)實(shí)現(xiàn)set的值不重復(fù)??梢钥闯?,HashSet的add方法使
為什么java中聲明多用Map,List而不是具體實(shí)現(xiàn)類(lèi)型?
設(shè)計(jì)模式應(yīng)該是適配器模式。
至于為什么要用map來(lái)實(shí)現(xiàn),我理解目的是用map的鍵來(lái)實(shí)現(xiàn)set的值不重復(fù)。
可以看出,HashSet的add方法使用了HashMap的put方法,它只是將值作為HashMap中的鍵
,而put的值直接定義了一個(gè)空對(duì)象
1。Java中的set包括三個(gè)類(lèi)別:set、list和mapjava.util文件Package、set、list和map是接口,它們有自己的實(shí)現(xiàn)類(lèi)。set的實(shí)現(xiàn)類(lèi)主要包括HashSet和TreeSet,list的實(shí)現(xiàn)類(lèi)主要包括ArrayList,map的實(shí)現(xiàn)類(lèi)主要包括HashMap和treemap。
2. 列表中的對(duì)象根據(jù)索引位置排序,可以有重復(fù)的對(duì)象,并且可以根據(jù)集合中對(duì)象的索引位置檢索對(duì)象,例如列表.獲?。╥) 方法獲取列表集合中的元素。列表是一個(gè)有序的集合,可以精確地控制每個(gè)元素的插入位置。用戶可以使用索引(元素在列表中的位置,類(lèi)似于數(shù)組下標(biāo))訪問(wèn)列表中的元素,這類(lèi)似于Java的數(shù)組。列表允許相同的元素。實(shí)現(xiàn)列表接口的常用類(lèi)有LinkedList、ArrayList、vector和stack。
3. 映射中的每個(gè)元素都包含一個(gè)鍵對(duì)象和一個(gè)值對(duì)象,它們成對(duì)出現(xiàn)。鍵對(duì)象不能復(fù)制,值對(duì)象可以復(fù)制。Map提供從鍵到值的映射。映射不能包含同一個(gè)鍵,每個(gè)鍵只能映射一個(gè)值。地圖界面提供了三組視圖。映射的內(nèi)容可以看作是一組鍵集、一組值集或一組鍵值映射。