map的實(shí)現(xiàn)類(lèi) java中map和list的區(qū)別?
java中map和list的區(qū)別?1. Java中的Collection包括三個(gè)類(lèi)別:set、list和map,它們都在java.util文件Package、set、list和map是接口,它們有自己
java中map和list的區(qū)別?
1. Java中的Collection包括三個(gè)類(lèi)別:set、list和map,它們都在java.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ì)象,例如列表.獲取(i) 方法獲取列表集合中的元素。列表是一個(gè)有序的集合,可以精確地控制每個(gè)元素的插入位置。用戶(hù)可以使用索引(元素在列表中的位置,類(lèi)似于數(shù)組下標(biāo))訪(fǎng)問(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)容可以看作是一組鍵集、一組值集或一組鍵值映射。
為什么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ì)象
在傳遞參數(shù)時(shí),即使使用map,也直接是一個(gè)JSON字符串或一個(gè)object字符串(object address)。
HTTP傳輸是字符串和Io的傳輸。您可以使用以下工具進(jìn)行測(cè)試。
HTTP模擬請(qǐng)求:http://www.sojson.com/httpRequest/
JSON在線(xiàn)解析:http://www.sojson.com/