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
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?
Det räckte, Tack!