Edit: what i am actually meant to ask about is why do we need an abstract class, a hash class, etc implementing interfaces like map, set and collection?? What is the difference between those (abstractmap, hashmap, map) and why do they need to be interfaces?
A difference is methods of a Java interface are implicitly abstract and cannot have implementations. A Java abstract class can have instance methods that implements a default behavior.
Another, variables declared in a Java interface is by default final. An abstract class may contain non-final variables.