2 svar
183 visningar
sampledragon5 behöver inte mer hjälp
sampledragon5 497
Postad: 3 nov 2021 17:47

Maps vs HashMaps

Hej! jag försöker förstå skillnaden mellan HashMap och Map classen. när jag sökte på skillnaden så fick jag följande:

"The Map is an interface, and HashMap is a class of the Java collection framework. The Map interface can be implemented by using its implementing classes. ... Whereas HashMap implements Map interface and extends AbstractMap class".

vad menar stycket då den använder sig av "interface"? interface har olika betydelser t.ex. vet jag att då man t.ex. säger "the interface of the Random class" så menar man dokumentationens innehåll av Random classes som går att läsa här; https://docs.oracle.com/javase/8/docs/api/java/util/Random.html

men de meningarna jag behöver hjälp med att förstå så står det the map IS an interface... vad menar de? tack på förhand 

CurtJ 1203
Postad: 3 nov 2021 17:53

Enkelt uttryckt så är Map deklarerad som "interface Map" och HashMap som "class HashMap implements Map"

Det innebär att Map definierar ett gränssnitt, ett antal metoder som implementerande klasser måste implementera. Man kan kalla "interface" ett kontrakt. Om du som programmerare använder dig av ett objekt av en klass som implementerar Map kan du använda dig av metoderna i interfacet utan att bry dig om hur de är implementerade. Flera klasser implementerar Map och upprätthåller gränssnittet men på olika sätt.

Räcker det?

sampledragon5 497
Postad: 3 nov 2021 18:02

Det räckte, Tack!

Svara
Close