Здравствуйте, помогите пожалуйста, никак не могу разобраться с этой задачей, уже очень много вариантов перепробовал, но все не то, уже и дошел до такого странного решения))) Дайте, какой-нибудь совет)
package com.javarush.task.task08.task0817;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
/*
Нам повторы не нужны
*/

public class Solution {
    public static HashMap<String, String> createMap() {
        //напишите тут ваш код
        HashMap<String, String> map = new HashMap<>();
        map.put("a", "bbb");
        map.put("b", "bkbb");
        map.put("c", "bbgb");
        map.put("d", "bbhb");
        map.put("e", "bbbtt");
        map.put("af", "bbb");
        map.put("ag", "bbbr");
        map.put("ak", "bbb");
        map.put("al", "bbbh");
        map.put("akj", "bbbb");

        return map;
    }

    public static void removeTheFirstNameDuplicates(Map<String, String> map) {
        //напишите тут ваш код
        Object[] sss = new String[map.size()];
        sss = map.values().toArray();
        ArrayList <Object> del = new ArrayList<>();

        for(Object s :
        sss){
            int count = 0;
            for(Map.Entry entry1 :
        map.entrySet()){
                if(entry1.getValue().equals(s))
                count++;
                    if(count>1)
                    del.add(entry1.getKey());
            }
        }
        for(Object op : del){
            removeItemFromMapByValue(map, map.get(op));
        }
        }

    public static void removeItemFromMapByValue(Map<String, String> map, String value) {
        HashMap<String, String> copy = new HashMap<String, String>(map);
        for (Map.Entry<String, String> pair : copy.entrySet()) {
            if (pair.getValue().equals(value))
                map.remove(pair.getKey());
        }
    }

    public static void main(String[] args) {

    }
}