差~~

2016-03-16 37 views
0

我感到困惑以下代碼之間的區別:差~~

Map<Integer, Integer> numberMap = new HashMap<Integer, Integer>(); 
HashMap<Integer, Integer> numberMap = new HashMap<Integer, Integer>(); 

誰能解釋一下,好嗎?謝謝~~

回答

0

那麼我會假設你知道面向對象的概念,所以..要簡短。

地圖是一個接口。 HashMap是一個實現Map的類。

根據要求編輯: 接口,在我們的例子中,Map接口只是一組公共函數標題,任何想使用它的類都可以實現它自己的邏輯。 您可能將其視爲模板或某種具有輸入和輸出的「黑匣子」。

到這裏看看:https://docs.oracle.com/javase/7/docs/api/java/util/Map.html]

HashMap類實現這些功能是在另外一個Hash可以添加更多的功能.. class HashMap implements Map 有它有它自己實現一個TreeMap。 class TreeMap implements Map

接口適用於很多情況,如果你想迭代可能實現相同接口的結構,

List<Map> someMap = new ArrayList<>(); 
someMap.add (new HashMap); 
someMap.add (new TreeMap); 

無論如何建議你會學習面向對象的概念來真正理解。

+0

嗨,請你提供一些例子,謝謝~~ – Simona

+0

我已經編輯了答案,沒關係? –

+0

非常感謝,現在我明白了〜 – Simona