Есть тест к 16 задаче на первую часть, вывожу деньги от показа видео по датам, даты храню в мапе, ключ мапы -дата, значение тип дабл
private TreeMap <Date, Double> dayProfitMap = new TreeMap<>();
Добавляю в мапу таким образом
private void makeAdvertisementInfo(){
     List<EventDataRow> list = statisticStorage.get().get(SELECTED_VIDEOS);
     for(EventDataRow dataRow: list){
         VideoSelectedEventDataRow data = (VideoSelectedEventDataRow) dataRow;
         dayProfitMap.put(data.getDate(), dayProfitMap.getOrDefault(data.getDate(),
                 new Double(0)) + data.getAmount());
     }
 }
Запускаю тест ниже несколько раз и бывает такое что дата 11 сентября 2 раза ! Как получается 2 одинаковых ключа в мапе? Т.е. тесты обычно показывают на выходе 2 даты, но иногда три, код не меняю... Почему-то одинаковые даты имеют разный хеш-код... 01-Feb-2023 - 100,00 11-Sep-2022 - 500,00 11-Sep-2022 - 100,00 Total - 700
public class Test {
    public static void main(String[] args) {
        List<Advertisement> videos = new LinkedList<>();

        StatisticManager.getInstance().register(new VideoSelectedEventDataRow(videos, 100, 10));
        StatisticManager.getInstance().register(new VideoSelectedEventDataRow(videos, 100, 10));
        StatisticManager.getInstance().register(new VideoSelectedEventDataRow(videos, 100, 10));
        StatisticManager.getInstance().register(new VideoSelectedEventDataRow(videos, 100, 10));
        VideoSelectedEventDataRow videoEvent1 = new VideoSelectedEventDataRow(videos, 100, 10);
        videoEvent1.currentDate = new GregorianCalendar(2023,01,01).getTime();
        VideoSelectedEventDataRow videoEvent2 = new VideoSelectedEventDataRow(videos, 100, 10);
        StatisticManager.getInstance().register(videoEvent1);
        StatisticManager.getInstance().register(videoEvent2);
        StatisticManager.getInstance().register(new VideoSelectedEventDataRow(videos, 100, 10));

        DirectorTablet directorTablet = new DirectorTablet();
        directorTablet.printAdvertisementProfit();
        //directorTablet.printCookWorkloading();
    }
Date дают разный хеш-код почему-то и именно у первой даты отличается хеш-код =(