HashMap зациклен

for (int i = 0; i < projectList.size(); i++) {
        String projectName = projectList.get(i);
        String url = "https://api.github.com/repos/apache/" + projectName + "/commits";

        try {
            data = Jsoup.connect(url).timeout(30000).ignoreContentType(true).execute().body();
            System.out.println(url);
            // System.out.println(data);

        } catch (Exception e) {
            e.printStackTrace();
        }
        objArray = new JSONArray(data);

        for (int i1 = 0; i1 < objArray.length(); i1++) {
            obj = objArray.getJSONObject(i1);               

            if (!obj.isNull("committer")) {
                obj1 = obj.getJSONObject("committer");
                commiterName = obj1.getString("login");
            }
            else {
                continue;
            }
            if (!UserCommitCount.containsKey(commiterName)) {
                UserCommitCount.put(commiterName, 1);
            } else {
                UserCommitCount.put(commiterName, UserCommitCount.get(commiterName) + 1);
            }

        }
        UserCommitCount = sortByComparator(UserCommitCount, DESC);
        UserCommitCount = resizeUserCommitCount(UserCommitCount);
        printHashMap(UserCommitCount);
        System.out.println(projectName + "!!!!");
        printHashMap(UserCommitCount);

        RepoNameCommitterMap.put(projectName, UserCommitCount);
        UserCommitCount.clear();
        System.out.println(projectName+ "AFTER");
        printHashMap(UserCommitCount);
        printNestedHashMap(RepoNameCommitterMap);
    }

Итак, я пытаюсь сохранить данные в Hashmap, и результат выглядит следующим образом

https://api.github.com/repos/apache/zookeeper/commits

hanm - 4

anmolnar - 23

lvfangmin - 3

zookeeper!!!!

hanm - 4

anmolnar - 23

lvfangmin - 3


zookeeper - {}
https://api.github.com/repos/apache/camel/commits

davsclaus - 9

oscerd - 20

PascalSchumacher - 1

camel!!!!

davsclaus - 9

oscerd - 20

PascalSchumacher - 1

camelAFTER

zookeeper - {davsclaus=9, oscerd=20, PascalSchumacher=1}

camel - {}

https://api.github.com/repos/apache/httpd/commits

minfrin - 1

elukey - 2

ylavic - 6

jfclere - 3

notroj - 4

jimjag - 1

httpd!!!!

minfrin - 1

elukey - 2

ylavic - 6

jfclere - 3

notroj - 4

jimjag - 1

httpdAFTER

zookeeper - {davsclaus=9, oscerd=20, PascalSchumacher=1}

camel - {minfrin=1, elukey=2, ylavic=6, jfclere=3, notroj=4, jimjag=1}

httpd - {}

И продолжается. Вы видите, что в первой команде put вводится ключ, а в hashMap нет, и это смещает следующую итерацию. Я не мог понять, почему так происходит. Может ли кто-нибудь помочь мне это исправить?

В первой итерации ReponameCommiter.put помещает имя репо, но не помещает карту userCommitCount.

«Вы видите, что в первую команду помещается клавиша, а hashMap - нет, и она сдвигает следующую итерацию». Можете ли вы перефазировать это? Я не знаю что ты говоришь

Michael 10.12.2018 12:40

В чем именно проблема?

Pranali Rasal 10.12.2018 12:41

так что ему нужно, чтобы этот смотритель зоопарка - {hanm = 4, anmolnar = 23, lvangfin = 3} вместо zookeeper - {} эти 3 (hanm, anmolar и lvangfin) каким-то образом отброшены.

Necip Kuruahmet 10.12.2018 12:43
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
77
1

Ответы 1

Вы дважды распечатываете хеш-карту:

printHashMap(UserCommitCount);
System.out.println(projectName + "!!!!");
printHashMap(UserCommitCount);

Возможно, вам стоит распечатать только один раз?

Другие вопросы по теме