Как бы я печатал значения из HashMap, не печатая дубликаты?

Я пытаюсь исправить этот фрагмент кода, где я печатаю из хэш-карты со списком номеров и владельцев (в этом формате). Я пытаюсь распечатать только владельцев с помощью printOwners (); но я не могу заставить его не печатать дубликаты.

Я поиграл с этим некоторое время, просто не могу пропустить дубликаты.

Вот мой код:

import java.util.ArrayList;
import java.util.HashMap;

public class VehicleRegister {

    private HashMap<RegistrationPlate, String> owners;

    public VehicleRegister() {
        owners = new HashMap<RegistrationPlate, String>();
    }

    public boolean add(RegistrationPlate plate, String owner) {
        //search for existing plate
        if (!(owners.containsKey(plate))) { // add if no plate
            owners.put(plate, owner);
            return true;
        }

        //if plate is found, check for owner
        else if (owners.keySet().equals(owner)) {
           return false;
        }

        return false;
    }

    public String get(RegistrationPlate plate) {
        return owners.get(plate);
    }

    public boolean delete(RegistrationPlate plate) {
        if (owners.containsKey(plate)) {
            owners.remove(plate);
            return true;
        }

        return false; 
    }

    public void printRegistrationPlates() {
        for (RegistrationPlate item : owners.keySet()) {
            System.out.println(item);
        }
    }

    public void printOwners() {

        for (RegistrationPlate item : owners.keySet()) {
            System.out.println(owners.get(item));            
        }
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос