java map添加元素的方法 java中map和list的區(qū)別?
java中map和list的區(qū)別?1. Java中的Collection包括三個(gè)類別:set、list和map,它們都在java.util文件Package、set、list和map是接口,它們有自己
java中map和list的區(qū)別?
1. Java中的Collection包括三個(gè)類別:set、list和map,它們都在java.util文件Package、set、list和map是接口,它們有自己的實(shí)現(xiàn)類。set的實(shí)現(xiàn)類主要包括HashSet和TreeSet,list的實(shí)現(xiàn)類主要包括ArrayList,map的實(shí)現(xiàn)類主要包括HashMap和treemap。
2. 列表中的對(duì)象根據(jù)索引位置排序,可以有重復(fù)的對(duì)象,并且可以根據(jù)集合中對(duì)象的索引位置檢索對(duì)象,例如列表.獲?。╥) 方法獲取列表集合中的元素。列表是一個(gè)有序的集合,可以精確地控制每個(gè)元素的插入位置。用戶可以使用索引(元素在列表中的位置,類似于數(shù)組下標(biāo))訪問(wèn)列表中的元素,這類似于Java的數(shù)組。列表允許相同的元素。實(shí)現(xiàn)列表接口的常用類有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)類型?
設(shè)計(jì)模式應(yīng)為適配器模式。
至于為什么要用map來(lái)實(shí)現(xiàn),我理解目的是用map的鍵來(lái)實(shí)現(xiàn)set的值不重復(fù)。
如您所見(jiàn),HashSet的add方法使用HashMap的put方法,它只是將值作為HashMap中的鍵
,put的值直接定義一個(gè)空對(duì)象。不要傲慢自大。我做軟件已經(jīng)20多年了。編程不僅僅是文字,更是思想。編程語(yǔ)言只是一種工具。如果你熟悉一個(gè)工具,那就沒(méi)什么值得驕傲的了,除非你想把編程和詩(shī)人比較一下。一個(gè)軟件要實(shí)現(xiàn)哪些功能,這些功能用戶如何使用才能酷、易用、穩(wěn)定如新是最重要的。否則,就是半衰期,在這個(gè)領(lǐng)域沒(méi)有太大前途