Потому что неправильно пишешь в консоль.
setOfCoupons.entrySet().iterator().next().getKey()
entrySet - это множество ключей, и ты берешь от него итератор - перечислитель, берешь всегда первый элемент и берешь его ключ. Нужно пройти по множеству полностью, например так:
for (Map.Entry<String, Coupon> entry: setOfCoupons.entrySet()){
print(entry.getKey() + " ->" + entry.getValue());
}
Кстати, ходить по хешмапе итератором - это так себе занятие, потому что порядок не гарантирован. Если хочется это делать, лучше использовать LinkedHashMap.