Las interfaces son usadas para el correcto diseño de un sistema, generalemente se utilizan en grandes sistemas, tambien son muy utilizadas en juegos, en finnnnnn son muy utiles, por ejemplo regresando al MAP, puedes instanciarlo asi:
Map map = new TreeMap();
Map map2 = new HashMap();
por que ambas clases implementan ala interface MAP, en fin, las interfaces las usas en el patron MethodFactory tambien
have funnnnnn